Post

๐Ÿงฉ Baekjoon 2903 - ์ค‘์•™ ์ด๋™ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿงฉ Baekjoon 2903 - ์ค‘์•™ ์ด๋™ ์•Œ๊ณ ๋ฆฌ์ฆ˜

### ๋ฌธ์ œ

์ƒ๊ทผ์ด๋Š” ์นœ๊ตฌ๋“ค๊ณผ ํ•จ๊ป˜ SF์˜ํ™”๋ฅผ ์ฐ์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ด ์˜ํ™”๋Š” ์™ธ๊ณ„ ์ง€ํ˜•์ด ํ•„์š”ํ•˜๋‹ค. ์‹ค์ œ๋กœ ์šฐ์ฃผ์„ ์„ ํƒ€๊ณ  ์™ธ๊ณ„ ํ–‰์„ฑ์— ๊ฐ€์„œ ์ดฌ์˜์„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ CG์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์™ธ๊ณ„ ์ง€ํ˜•์€ ์ค‘์•™ ์ด๋™ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ƒ๊ทผ์ด๋Š” ์ •์‚ฌ๊ฐํ˜•์„ ์ด๋ฃจ๋Š” ์  4๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค. ๊ทธ ํ›„์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์ง€ํ˜•์„ ๋งŒ๋“ ๋‹ค.

  1. ์ •์‚ฌ๊ฐํ˜•์˜ ๊ฐ ๋ณ€์˜ ์ค‘์•™์— ์ ์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.
  2. ์ •์‚ฌ๊ฐํ˜•์˜ ์ค‘์‹ฌ์— ์ ์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ดˆ๊ธฐ ์ƒํƒœ์—์„œ ์œ„์™€ ๊ฐ™์€ ๊ณผ์ •์„ ํ•œ ๋ฒˆ ๊ฑฐ์น˜๋ฉด ์ด 4๊ฐœ์˜ ์ •์‚ฌ๊ฐํ˜•์ด ์ƒˆ๋กœ ์ƒ๊ธด๋‹ค. ์ด์™€ ๊ฐ™์€ ๊ณผ์ •์„ ์ƒ๊ทผ์ด๊ฐ€ ๋งŒ์กฑํ•  ๋•Œ ๊นŒ์ง€ ๊ณ„์†ํ•œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๊ณผ์ •์„ ์ด 2๋ฒˆ ๊ฑฐ์ณค์„ ๋•Œ๊นŒ์ง€์˜ ๋ชจ์Šต์ด๋‹ค.

์ƒ๊ทผ์ด๋Š” ์–ด๋–ค ์ ์€ ํ•œ ๊ฐœ ๋ณด๋‹ค ๋งŽ์€ ์ •์‚ฌ๊ฐํ˜•์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•˜๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ ์ค‘๋ณตํ•˜๋Š” ์ ์„ ํ•œ ๋ฒˆ๋งŒ ์ €์žฅํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ณผ์ •์„ N๋ฒˆ ๊ฑฐ์นœ ํ›„ ์  ๋ช‡ ๊ฐœ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค N โ‰ค 15)

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๊ณผ์ •์„ N๋ฒˆ ๊ฑฐ์นœ ํ›„ย ์ ์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ

โœ… ์ž…๋ ฅ 1

1
1

โœ… ์ถœ๋ ฅ 1

1
9

โœ… ์ž…๋ ฅ 2

1
2

โœ… ์ถœ๋ ฅ 2

1
25

โœ… ์ž…๋ ฅ 3

1
5

โœ… ์ถœ๋ ฅ 3

1
1089

์ž‘์„ฑ ์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
  
public class Main {  
    public static void main(String[] args) throws IOException {  
        // 1. ๋ณ€์ˆ˜ ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  
        
        int n = Integer.parseInt(br.readLine());  
        int[] nums = new int[16];  
        nums[0] = 4;  
        
        // 2. ๊ณ„์‚ฐ  
        for (int i = 1; i <= n; i++) {  
            nums[i] = (int)Math.pow(Math.sqrt(nums[i - 1]) + (int)Math.pow(2, i - 1), 2);  
        }  
        
        // 3. ์ถœ๋ ฅ  
        System.out.println(nums[n]);  
    }  
}
This post is licensed under CC BY 4.0 by the author.