05-17 04:01
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_72 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ :: DynamicProgramming ๋ณธ๋ฌธ

Algorithm/Java

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_72 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ :: DynamicProgramming

miinsun 2022. 3. 12. 01:36

 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…

์ฒ ์ˆ˜๋Š” ๊ณ„๋‹จ์„ ์˜ค๋ฅผ ๋•Œ ํ•œ ๋ฒˆ์— ํ•œ ๊ณ„๋‹จ ๋˜๋Š” ๋‘ ๊ณ„๋‹จ์”ฉ ์˜ฌ๋ผ๊ฐ„๋‹ค.

๋งŒ์•ฝ ์ด 4๊ณ„๋‹จ์„ ์˜ค๋ฅธ๋‹ค๋ฉด ๊ทธ ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋Š”
1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 ๋กœ 5๊ฐ€์ง€์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด N๊ณ„๋‹จ์ผ ๋•Œ ์ฒ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋Š” ๋ช‡ ๊ฐ€์ง€์ธ๊ฐ€?

 

๐Ÿ”จ ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ 

  • ์ฒซ์งธ ์ค„์€ ๊ณ„๋‹จ์˜ ๊ฐœ์ˆ˜์ธ ์ž์—ฐ์ˆ˜ N(3≤N≤35)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.
7

 

์ถœ๋ ฅ

  • ์ฒซ ๋ฒˆ์งธ ์ค„์— ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
21

 

 

โ€‹

๐Ÿ’ป Solution.java

  • ๋™์  ๊ณ„ํš๋ฒ•์€ ํฐ ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•ด์„œ ํ‘ธ๋Š” ๊ฒƒ
  • ์ด ๋ฌธ์ œ์—๋Š” ํ”ผ๋ณด๋‚˜์น˜๋ฅผ ์ ์šฉ์‹œํ‚จ๋‹ค
  • ๊ฐ€์žฅ ์ž‘์€ ๋ฌธ์ œ์ธ 1๋ฒˆ์งธ ๊ณ„๋‹จ์€ 1๊ฐ€์ง€์˜ ๋ฐฉ๋ฒ•, 2๋ฒˆ์งธ ๊ณ„๋‹จ์€ 2๊ฐ€์ง€์˜ ๋ฐฉ๋ฒ•์„ ๊ฐ–๊ณ  ์žˆ๋‹ค
/* ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ :: Dynamic Programming */
import java.util.*;

public class Main {
	static int [] dy;

	public int solution(int n) {
		dy[1] = 1;
		dy[2] = 2;
		
		for(int i = 3; i <= n; i++) {
			dy[i] = dy[i - 2] + dy[i - 1];
		}
		return dy[n];
			
 	}
	
	public static void main(String[] args){
		Main main = new Main();
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();		
		dy = new int[n + 1];
		
		System.out.println(main.solution(n));
		
		sc.close();
		return ;
	}
}

 

Comments