https://www.acmicpc.net/problem/2903
2903๋ฒ: ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ
๋ฌธ์ ์๊ทผ์ด๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป SF์ํ๋ฅผ ์ฐ์ผ๋ ค๊ณ ํ๋ค. ์ด ์ํ๋ ์ธ๊ณ ์งํ์ด ํ์ํ๋ค. ์ค์ ๋ก ์ฐ์ฃผ์ ์ ํ๊ณ ์ธ๊ณ ํ์ฑ์ ๊ฐ์ ์ดฌ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ปดํจํฐ ๊ทธ๋ํฝ์ผ๋ก CG์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค. ์ธ๊ณ ์งํ์ ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์์ํ๋ฉด์ ์๊ทผ์ด๋ ์ ์ฌ๊ฐํ์ ์ด๋ฃจ๋ ์ 4๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค. ๊ทธ ํ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์งํ์ ๋ง๋ ๋ค. ์ ์ฌ๊ฐํ์ ๊ฐ ๋ณ์ ์ค์์ ์ ์ ํ๋ ์ถ๊ฐํ๋ค. ์ ์ฌ๊ฐํ์ ์ค์ฌ์ ์ ์ ํ๋
www.acmicpc.net
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int width = 3;
int[] star = new int[16];
for(int i=1; i<star.length; i++) { // 1 ~ 15
star[i] = width * width;
width = width + (width-1);
}
System.out.println(star[N]);
scan.close();
}
}
ํ์ด
๊ท์น๋ง ์ฐพ์ผ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์๋ค.
์ ์ฅํด์ผํ๋ ์ ์ ๊ฐ์๋ ์ ๊ณฑ์์ด๋ค.
9 -> 25 -> 81 -> 289 -> ...
๋ฐ๋ผ์ ๋ช์ ์ ๊ณฑ์ธ์ง๋ง ์ฐพ์์ฃผ๋ฉด ๋๋ค.
๊ฐ๋ก์ ์ ์ ๊ฐ์๋ฅผ ๋ณด๋ฉด(N = 1๋ถํฐ)
3, 5, 9, 17, 33, ...๊ฐ ๋๋ค
3 = 2 + (2-1)
5 = 3 + (3-1)
9 = 5 + (5-1)
17 = 9 + (9-1)
33 = 17 + (17-1)
...
์์ ๊ฐ์ด ์ด์ ์ซ์ + (์ด์ ์ซ์-1) ์ ๊ท์น์ด ์๋ค.
N์ ํฌ๊ธฐ๊ฐ 15๋ฐ์ ์๋๋ฏ๋ก ๋ฐฐ์ด์ ๋ชจ๋ ์๋ฅผ ๊ตฌํ๊ณ , ์ ๋ ฅ๋ฐ๋ ์ธ๋ฑ์ค์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2399๋ฒ: ๊ฑฐ๋ฆฌ์ ํฉ (0) | 2020.01.29 |
---|---|
[๋ฐฑ์ค] 1946๋ฒ: ์ ์ ์ฌ์(๊ทธ๋ฆฌ๋, ์ ๋ ฌ) (0) | 2020.01.29 |
[๋ฐฑ์ค] 1080๋ฒ: ํ๋ ฌ(๊ทธ๋ฆฌ๋) (0) | 2020.01.28 |
[๋ฐฑ์ค] 2745๋ฒ: ์ง๋ฒ ๋ณํ (0) | 2020.01.28 |
[๋ฐฑ์ค] 1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ(๊ทธ๋ฆฌ๋) (0) | 2020.01.26 |
๋๊ธ