SSAFY/SWEA

[SWEA] 8016 : 홀수 피라미드

믕비 2023. 5. 5. 12:52

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AWvzGUKKPVwDFASy&categoryId=AWvzGUKKPVwDFASy&categoryType=CODE&problemTitle=&orderBy=SUBMIT_COUNT&selectCodeLang=JAVA&select-1=3&pageSize=10&pageIndex=4 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

제한시간과 입력수의 범위를 잘 봐야 하는 문제였다.

계차수열을 이용해서 공식을 구했고 메소드를 만들어 답을 구했는데, 이때 답으로 나올 데이터만 long 변환을 해줬더니 계속 틀렸다. 입력되는 수도 같은 데이터형식으로 변환시켜주었다.

초반에 사용했던 pow도 캐스팅을 해주고 사용했음에도 오답이었으니 수의 값이 클 때는 가급적 데이터형이 같을 때만 사용하도록 해야겠다.

 

내 코드

메모리 : 18640 KB

시간 : 103 ms

코드길이 : 771 B

 

[내 코드]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Solution {

	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine());
		for(int t = 1; t <= T; t++) {
			sb.append('#').append(t).append(' ');
			long N = Integer.parseInt(br.readLine());
			
			sb.append(leftNum(N)).append(' ').append(rightNum(N)).append('\n');
		}
		System.out.print(sb);
	}
	
	public static long leftNum(long n) {
		return 1 + 2 * (n - 1) * (n - 1);
	}
	public static long rightNum(long n) {
		return 2 * n * n - 1;
	}

}

 

'SSAFY > SWEA' 카테고리의 다른 글

[SWEA] 2806 : N-Queen  (0) 2023.05.07
[SWEA] 3408 : 세가지 합 구하기  (0) 2023.05.05
[SWEA] 4013 : 특이한 자석  (0) 2023.05.04
[SWEA] 1952 : 수영장  (0) 2023.05.04
[SWEA] 3750 : Digit sum  (0) 2023.05.03