[BaekJoon] 1904 01ํƒ€์ผ (java)

SeongWon Ohยท2021๋…„ 10์›” 6์ผ
0
post-thumbnail

๐Ÿ”— ๋ฌธ์ œ ๋งํฌ

https://www.acmicpc.net/problem/1904


๐Ÿ“ ๋ฌธ์ œ ํ’€์ด ๋ฐฉ๋ฒ•

ํ•ด๋‹น ๋ฌธ์ œ๋Š” N์ด ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์ƒ์„ฑ๋˜๋Š” ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ ํ™”์‹์„ ๋„์ถœํ•˜์—ฌ ํ’€์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

๋ฌธ์ œ์˜ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. N๋ฒˆ์งธ ์ƒ์„ฑ๋˜๋Š” ์ˆ˜์—ด์€ N-1๊ฐœ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ˆ˜์—ด์— 1์„ ๋ถ™์ธ ๊ฒฝ์šฐ์˜ ์ˆ˜์™€ N-2๊ฐœ๋กœ ์ƒ์„ฑํ•œ ์ˆ˜์—ด์— 00ํƒ€์ผ์„ ๋ถ™์ด๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋œ๋‹ค.
์ฆ‰, arr[N]=arr[Nโˆ’1]+arr[Nโˆ’2]arr[N] = arr[N-1]+ arr[N-2]๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ์ด์šฉํ•ด ํ”ผ๋ณด๋‚˜์น˜ ๋ฌธ์ œ์™€ ๊ฐ™์ด Dynamic Programming์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์•˜๋‹ค.


๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป ์ž‘์„ฑํ•œ ์ฝ”๋“œ

import java.io.*;
public class Main {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = Integer.parseInt(br.readLine());
		
		int[] arr = new int[n+1];
		
		arr[1] = 1;
		if (n >= 2) arr[2] = 2;
		
		if (n >= 3) {
			for (int i=3; i<=n; i++) {
				arr[i] = (arr[i-1] + arr[i-2]) % 15746;
			}
		}
		
		System.out.println(arr[n]);
	}

}

profile
๋ธ”๋กœ๊ทธ ์ด์ „ํ–ˆ์Šต๋‹ˆ๋‹ค. -> https://seongwon.dev/

0๊ฐœ์˜ ๋Œ“๊ธ€