λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

dp8

[Java] BOJ 7626 Four Squares 문제 λ¬Έμ œ 링크 https://www.acmicpc.net/problem/17626λΌκ·Έλž‘μ£ΌλŠ” 1770년에 λͺ¨λ“  μžμ—°μˆ˜λŠ” λ„· ν˜Ήμ€ κ·Έ μ΄ν•˜μ˜ 제곱수의 ν•©μœΌλ‘œ ν‘œν˜„ν•  수 μžˆλ‹€κ³  증λͺ…ν•˜μ˜€λ‹€.μ–΄λ–€ μžμ—°μˆ˜λŠ” 볡수의 λ°©λ²•μœΌλ‘œ ν‘œν˜„λœλ‹€.예λ₯Ό λ“€λ©΄, 26은 52κ³Ό 12의 합이닀; λ˜ν•œ 42 + 32 + 12으둜 ν‘œν˜„ν•  μˆ˜λ„ μžˆλ‹€.μ—­μ‚¬μ μœΌλ‘œ μ•”μ‚°μ˜ λͺ…μˆ˜λ“€μ—κ²Œ κ³΅ν†΅μ μœΌλ‘œ μ£Όμ–΄μ§€λŠ” λ¬Έμ œκ°€ λ°”λ‘œ μžμ—°μˆ˜λ₯Ό λ„· ν˜Ήμ€ κ·Έ μ΄ν•˜μ˜ 제곱수 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λΌλŠ” κ²ƒμ΄μ—ˆλ‹€.1900λ…„λŒ€ μ΄ˆλ°˜μ— ν•œ μ•”μ‚°κ°€κ°€ 15663 = 1252 + 62 + 12 + 12λΌλŠ” ν•΄λ₯Ό κ΅¬ν•˜λŠ”λ° 8μ΄ˆκ°€ κ±Έλ Έλ‹€λŠ” 보고가 μžˆλ‹€.μ’€ 더 μ–΄λ €μš΄ λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” 56μ΄ˆκ°€ κ±Έλ Έλ‹€: 11339 = 1052 + 152 + 82 + 52.μžμ—°μˆ˜ n이 μ£Όμ–΄μ§ˆ λ•Œ, n을 μ΅œμ†Œ 개수의 .. 2024. 7. 31.
[Java] BOJ 11727 2×n 타일링 2 문제 λ¬Έμ œ 링크 https://www.acmicpc.net/problem/117272×n μ§μ‚¬κ°ν˜•μ„ 1×2, 2×1κ³Ό 2×2 νƒ€μΌλ‘œ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.μ•„λž˜ 그림은 2×17 μ§μ‚¬κ°ν˜•μ„ μ±„μš΄ ν•œκ°€μ§€ μ˜ˆμ΄λ‹€.첫째 쀄에 n이 주어진닀. (1 ≤ n ≤ 1,000)첫째 쀄에 2×n 크기의 μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό 10,007둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€.μ•„μ΄λ””μ–΄μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό μ €μž₯ν•  n + 1 크기의 배열을 μƒμ„±ν•œλ‹€.μ§μ‚¬κ°ν˜•μ˜ κ°€λ‘œκ°€ 1μΌλ•Œ λ°©λ²•μ˜ μˆ˜λŠ” 1, κ°€λ‘œκ°€ 2μΌλ•Œ λ°©λ²•μ˜ μˆ˜λŠ” 3이기 λ•Œλ¬Έμ— λ°°μ—΄μ˜ 첫번째 값은 1, λ‘λ²ˆμ§Έ 값은 3으둜 μ΄ˆκΈ°ν™”ν•œλ‹€.3λΆ€ν„° nκΉŒμ§€ λ°˜λ³΅μ„ ν•˜λŠ”λ°, κ°€λ‘œκ°€ i인 μ§μ‚¬κ°ν˜•μ„ μ±„μšΈ λ°©λ²•μ˜ μˆ˜λŠ” κ°€λ‘œκ°€ i - 1인 μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” λ°©λ²•μ˜.. 2024. 7. 30.
[Java] BOJ 11726 2×n 타일링 문제 λ¬Έμ œ 링크 https://www.acmicpc.net/problem/117262×n 크기의 μ§μ‚¬κ°ν˜•μ„ 1×2, 2×1 νƒ€μΌλ‘œ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.μ•„λž˜ 그림은 2×5 크기의 μ§μ‚¬κ°ν˜•μ„ μ±„μš΄ ν•œ 가지 λ°©λ²•μ˜ μ˜ˆμ΄λ‹€. μ²«μ§Έ 쀄에 n이 주어진닀. (1 ≤ n ≤ 1,000)첫째 쀄에 2×n 크기의 μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” λ°©λ²•μ˜ 수λ₯Ό 10,007둜 λ‚˜λˆˆ λ‚˜λ¨Έμ§€λ₯Ό 좜λ ₯ν•œλ‹€.μ•„μ΄λ””μ–΄μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” λ°©λ²•μ˜ 개수λ₯Ό μ €μž₯ν•  n + 1 크기의 배열을 μƒμ„±ν•œλ‹€.κ°€λ‘œκ°€ 1μΌλ•ŒλŠ” 방법이 1가지, κ°€λ‘œκ°€ 2μΌλ•ŒλŠ” 방법이 2κ°€μ§€μ΄λ―€λ‘œ λ°°μ—΄μ˜ 첫번째 값은 1, λ‘λ²ˆμ§Έ 값은 2둜 μ΄ˆκΈ°ν™”ν•¨3λΆ€ν„° nκΉŒμ§€ λ°˜λ³΅ν•˜λŠ”λ°, κ°€λ‘œ 길이가 i인 μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” 방법은 κ°€λ‘œκ°€ (i - 1)인 μ§μ‚¬κ°ν˜•μ„ μ±„μš°λŠ” 방법과 κ°€.. 2024. 7. 29.
[Java] BOJ 9461 νŒŒλ„λ°˜ μˆ˜μ—΄ 문제 λ¬Έμ œ 링크 https://www.acmicpc.net/problem/9461였λ₯Έμͺ½ κ·Έλ¦Όκ³Ό 같이 μ‚Όκ°ν˜•μ΄ λ‚˜μ„  λͺ¨μ–‘μœΌλ‘œ 놓여져 μžˆλ‹€.첫 μ‚Όκ°ν˜•μ€ μ •μ‚Όκ°ν˜•μœΌλ‘œ λ³€μ˜ κΈΈμ΄λŠ” 1이닀.κ·Έ λ‹€μŒμ—λŠ” λ‹€μŒκ³Ό 같은 κ³Όμ •μœΌλ‘œ μ •μ‚Όκ°ν˜•μ„ 계속 μΆ”κ°€ν•œλ‹€.λ‚˜μ„ μ—μ„œ κ°€μž₯ κΈ΄ λ³€μ˜ 길이λ₯Ό k라 ν–ˆμ„ λ•Œ, κ·Έ 변에 길이가 k인 μ •μ‚Όκ°ν˜•μ„ μΆ”κ°€ν•œλ‹€.N이 μ£Όμ–΄μ‘Œμ„ λ•Œ, P(N)을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.νŒŒλ„λ°˜ μˆ˜μ—΄ P(N)은 λ‚˜μ„ μ— μžˆλŠ” μ •μ‚Όκ°ν˜•μ˜ λ³€μ˜ 길이이닀. P(1)λΆ€ν„° P(10)κΉŒμ§€ 첫 10개 μˆ«μžλŠ” 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이닀.첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Tκ°€ 주어진닀. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” ν•œ μ€„λ‘œ 이루어져 있고, N이 주어진닀. (1 ≤ N ≤ 100)각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€ P(N)을.. 2024. 7. 28.
[Java] BOJ 9095 1, 2, 3 λ”ν•˜κΈ° 문제 λ¬Έμ œ 링크 https://www.acmicpc.net/problem/9095μ •μˆ˜ 4λ₯Ό 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” 방법은 총 7가지가 μžˆλ‹€. 합을 λ‚˜νƒ€λ‚Ό λ•ŒλŠ” 수λ₯Ό 1개 이상 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.1+1+1+11+1+21+2+12+1+12+21+33+1μ •μˆ˜ n이 μ£Όμ–΄μ‘Œμ„ λ•Œ, n을 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°©λ²•μ˜ 수λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 Tκ°€ 주어진닀. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” ν•œ μ€„λ‘œ 이루어져 있고, μ •μˆ˜ n이 주어진닀. n은 μ–‘μˆ˜μ΄λ©° 11보닀 μž‘λ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€, n을 1, 2, 3의 ν•©μœΌλ‘œ λ‚˜νƒ€λ‚΄λŠ” λ°©λ²•μ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€. μ•„μ΄λ””μ–΄μ—°μ‚°μ˜ 개수λ₯Ό μ €μž₯ν•˜λŠ” 배열을 n + 1 크기둜 λ§Œλ“€κ³  1은 1, 2λŠ” 2, 3은 4둜 μ΄ˆκΈ°κ°’μ„ μ €μž₯ν•΄μ€€λ‹€.μ—°μ‚°μ˜ 개수.. 2024. 7. 28.
[Java] BOJ 2579 계단 였λ₯΄κΈ° 문제 λ¬Έμ œ 링크 \https://www.acmicpc.net/problem/2579계단 였λ₯΄κΈ° κ²Œμž„μ€ 계단 μ•„λž˜ μ‹œμž‘μ λΆ€ν„° 계단 κΌ­λŒ€κΈ°μ— μœ„μΉ˜ν•œ λ„μ°©μ κΉŒμ§€ κ°€λŠ” κ²Œμž„μ΄λ‹€. κ³Ό 같이 각각의 κ³„λ‹¨μ—λŠ” μΌμ •ν•œ μ μˆ˜κ°€ μ“°μ—¬ μžˆλŠ”λ° 계단을 밟으면 κ·Έ 계단에 μ“°μ—¬ μžˆλŠ” 점수λ₯Ό μ–»κ²Œ λœλ‹€ μ˜ˆλ₯Ό λ“€μ–΄ 와 같이 μ‹œμž‘μ μ—μ„œλΆ€ν„° 첫 번째, 두 번째, λ„€ 번째, μ—¬μ„― 번째 계단을 λ°Ÿμ•„ 도착점에 λ„λ‹¬ν•˜λ©΄ 총 μ μˆ˜λŠ” 10 + 20 + 25 + 20 = 75점이 λœλ‹€.계단 였λ₯΄λŠ” λ°λŠ” λ‹€μŒκ³Ό 같은 κ·œμΉ™μ΄ μžˆλ‹€.계단은 ν•œ λ²ˆμ— ν•œ 계단씩 λ˜λŠ” 두 계단씩 였λ₯Ό 수 μžˆλ‹€. 즉, ν•œ 계단을 λ°ŸμœΌλ©΄μ„œ μ΄μ–΄μ„œ λ‹€μŒ κ³„λ‹¨μ΄λ‚˜, λ‹€μŒ λ‹€μŒ κ³„λ‹¨μœΌλ‘œ 였λ₯Ό 수 μžˆλ‹€.μ—°μ†λœ μ„Έ 개의 계단을 λͺ¨λ‘ λ°Ÿμ•„μ„œλŠ” μ•ˆ λœλ‹€. 단, μ‹œμž‘μ μ€ 계단에 ν¬ν•¨λ˜μ§€ μ•ŠλŠ”.. 2024. 7. 27.