티스토리 뷰

 

SW Expert Academy

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

swexpertacademy.com

코드

정답

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));
        }
    }
}
Total
Today
Yesterday
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30