티스토리 뷰
코드
정답
import java.io.*;
import java.util.*;
class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int t = 1; t <= T; t++) {
long n = Long.parseLong(br.readLine());
long first = 2 * (n - 1) * (n - 1) + 1; // 1, 3, 9,
long last = 2 * n * n - 1; // 1, 7, 17
System.out.println("#" + t + " " + first + " " + last);
}
}
}
오답
아래 코드는 n이 10^9승 즉 10억 번을 반복하기 때문에 시간 초과가 발생한다.
import java.io.*;
import java.util.*;
class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int t = 1; t <= T; t++) {
int n = Integer.parseInt(br.readLine());
long s = 1, cnt = 1;
for (long i = 1; i < n; i++) {
for (long j = 0; j < cnt; j++) {
s += 2;
}
cnt += 2;
}
System.out.println("#" + t + " " + s + " " + (s + (cnt - 1) * 2));
}
}
}