우규이인우윀
Eager To Learn 🌌
우규이인우윀
전체 방문자
였늘
μ–΄μ œ

λΈ”λ‘œκ·Έ 메뉴

  • 🏑 ν™ˆ
  • πŸš€ κΉƒν—ˆλΈŒ
  • β›… νƒœκ·Έ ν΄λΌμš°λ“œ
  • λΆ„λ₯˜ 전체보기 (217)
    • πŸ‘¨πŸ»‍πŸ’» PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm 기법 (1)
      • 바킹독 (21)
    • λΈ”λ‘œκ·Έ 이사 (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • 자료ꡬ쑰 (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • κ°œλ°œμ„œμ  (15)
      • 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 (1)
      • 였브젝트 - 쑰영호 (7)
      • μΉœμ ˆν•œ SQL νŠœλ‹ (7)
    • 회고 (2)
hELLO Β· Designed By μ •μƒμš°.
우규이인우윀

Eager To Learn 🌌

πŸ‘¨πŸ»‍πŸ’» PS/JAVA

[JAVA] λ°±μ€€ 9461번 γ€νŒŒλ„λ°˜ μˆ˜μ—΄γ€‘

2022. 9. 28. 09:37


였늘의 μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œλŠ” λ„ˆλ¬΄ μ‰½κ²Œ ν•΄κ²°ν•΄μ„œ μ’‹λ‹€..γ…Ž 

 

문제λ₯Ό λ³΄μ•„ν•˜λ‹ˆ, μ–΄λ–€ μˆ˜ν•™μ μΈ 식이 μ‘΄μž¬ν•  것 κ°™μ•„ λ³΄μ΄μ§€λŠ” μ•Šμ•˜λ‹€. κ·Έλž˜μ„œ 각 ν•­μ˜ 값을 직접 μ μ–΄λ³΄λ‹ˆ κ·œμΉ™μ„ λ°”λ‘œ λ°œκ²¬ν•  수 μžˆμ—ˆλ‹€.

 

dp[1] = 1

dp[2] = 1

dp[3] = 1

dp[4] = 2

dp[5] = 2

dp[6] = 3 ( 1 + 2)

dp[7] = 4  (1 + 3)

dp[8] = 5  (1 + 4)

dp[9] = 7  (2 + 5)

dp[10] = 8 (2 + 7)

dp[11] = 12 (3 + 9)

dp[12] = 16 ( 4 + 12)

 

μ μ–΄λ‚΄λ €κ°€λ‹€λ³΄λ‹ˆ, μ € λΉ¨κ°„μƒ‰μœΌλ‘œ ν‘œμ‹œν•œ μˆ«μžλ“€μ΄ λˆˆμ— λ„ˆλ¬΄ λ„μ—ˆλ‹€.

 

dp[6]λΆ€ν„° dp[1]이 더해지기 μ‹œμž‘ν•œλ‹€λŠ” 사싀을 μ•Œμ•˜λ‹€. 즉,

 

dp[1] = 1

dp[2] = 1

dp[3] = 1

dp[4] = 2

dp[5] = 2

dp[6] = 3 ( 1 + 2) = dp[6-5] + dp[5]

dp[7] = 4  (1 + 3) = dp[7-5] + dp[5]

dp[8] = 5  (1 + 4) = dp[8-5] + dp[5]

dp[9] = 7  (2 + 5) = dp[9-5] + dp[5]

dp[10] = 8 (2 + 7) = dp[10-5] + dp[5]

dp[11] = 12 (3 + 9) = dp[11-5] + dp[5]

dp[12] = 16 ( 4 + 12) = dp[12-5] + dp[5]

 

μ΅œμ’…μ μœΌλ‘œ dp[i] = dp[i-5] + dp[i-1] κ°€ λœλ‹€λŠ” 사싀을 μ•Œμ•˜λ‹€.

 

그리고 dp 배열을 μƒμ„±ν• λ•Œ, int λ°°μ—΄λ‘œ μƒμ„±ν•˜λ©΄ μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•  수 μžˆμœΌλ―€λ‘œ long λ°°μ—΄λ‘œ 생성해야 ν•œλ‹€λŠ” 것을 μ£Όμ˜ν•˜μž.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.valueOf(br.readLine());
		long[] dp = new long[101];
		
		dp[1]=1;dp[2]=1;dp[3]=1;
		dp[4]=2;dp[5]=2;
		for(int i=6;i<=100;i++) {
			dp[i]=dp[i-5]+dp[i-1];
		}
		for(int i=1;i<=T;i++) {
			System.out.println(dp[Integer.valueOf(br.readLine())]);
		}

	}
}
    'πŸ‘¨πŸ»‍πŸ’» PS/JAVA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [JAVA] λ°±μ€€ 2011번 γ€μ•”ν˜Έμ½”λ“œγ€‘
    • [JAVA] λ°±μ€€ 2225번 【합뢄해】
    • [JAVA] λ°±μ€€ 2133번 【타일 μ±„μš°κΈ°γ€‘
    • [JAVA] λ°±μ€€ 1699번 γ€μ œκ³±μˆ˜μ˜ 합】
    우규이인우윀
    우규이인우윀
    개발자 κΏˆλ‚˜λ¬΄

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”