b12852. 1๋กœ ๋งŒ๋“ค๊ธฐ 2

2025. 4. 14. 18:06ยทAlgorithm & Data Structures/BOJ

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

 

 

 

๐Ÿ“Œ ์ž๋ฐ”(Java)๋กœ ํ‘ธ๋Š” 1๋กœ ๋งŒ๋“ค๊ธฐ 2 - ๋ฐฑ์ค€ 12852 ๐Ÿ”ข

์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜ + ๊ฒฝ๋กœ ์ถ”์ ๊นŒ์ง€ ํ•˜๋Š” DP ๋ฌธ์ œ!

 


๐Ÿ”Ž ๋ฌธ์ œ ๊ฐœ์š”

 

๋ฐฑ์ค€ 12852๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ 2 ๋ฌธ์ œ๋Š”

์ •์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ,

1๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค:

 

  1. X โ†’ X / 3 (3์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์งˆ ๋•Œ๋งŒ)
  2. X โ†’ X / 2 (2๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์งˆ ๋•Œ๋งŒ)
  3. X โ†’ X - 1

 

์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ 
๊ทธ ๊ฒฝ๋กœ์— ํ•ด๋‹นํ•˜๋Š” ์ˆซ์ž ์ˆœ์„œ๋„ ์ถœ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 


๐Ÿ’ก ์˜ˆ์ œ ์ž…๋ ฅ

10

 

๐Ÿ’ก ์˜ˆ์ œ ์ถœ๋ ฅ

3
10 9 3 1

 

 


๐Ÿ›  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ ‘๊ทผ ๋ฐฉ์‹: Dynamic Programming (DP)

 

 

โœ๏ธ ํ•ต์‹ฌ ์ „๋žต

 

  • dp[i]: i๋ฅผ 1๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜
  • check[i]: i์— ์˜ค๊ธฐ ์ง์ „์˜ ์ˆ˜ (๊ฒฝ๋กœ ์ถ”์ ์šฉ)

 


๐Ÿ”น Java ์ฝ”๋“œ ์„ค๋ช…

 

 

๐Ÿ“Œ ๊ธฐ๋ณธ ์ดˆ๊ธฐํ™”

dp[1] = 0;

โœ” 1์€ ์ด๋ฏธ ๋ชฉํ‘œ๊ฐ’์ด๋ฏ€๋กœ ์—ฐ์‚ฐ ํšŸ์ˆ˜ 0

 


๐Ÿ“Œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ dp ์ฑ„์šฐ๊ธฐ

for (int i = 2; i <= N; i++) {
    dp[i] = dp[i - 1] + 1;
    check[i] = i - 1;

    if (i % 3 == 0 && dp[i / 3] + 1 < dp[i]) {
        dp[i] = dp[i / 3] + 1;
        check[i] = i / 3;
    }

    if (i % 2 == 0 && dp[i / 2] + 1 < dp[i]) {
        dp[i] = dp[i / 2] + 1;
        check[i] = i / 2;
    }
}

โœ” ํ˜„์žฌ ์ˆ˜ i๋Š”

 

  • i-1
  • i/2
  • i/3โœ” check[i]๋ฅผ ํ†ตํ•ด ์ตœ๋‹จ ๊ฒฝ๋กœ์˜ ์ด์ „ ์ˆ˜ ์ €์žฅ
  • ์ค‘ ์ตœ์†Œ ์—ฐ์‚ฐ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒ

 


๐Ÿ“Œ ๊ฒฝ๋กœ ์ถ”์ 

sb.append(dp[N]).append("\n").append(N).append(" ");
while (N > 1) {
    sb.append(check[N]).append(" ");
    N = check[N];
}

โœ” dp๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ 

โœ” check[] ๋ฐฐ์—ด์„ ๋”ฐ๋ผ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ€๋ฉฐ ๊ฒฝ๋กœ๋ฅผ ์žฌ๊ตฌ์„ฑ

 


๐Ÿ† ์ •๋ฆฌ

โœ… ํ•ต์‹ฌ ํฌ์ธํŠธ

  • DP[i] = min(DP[i-1], DP[i/2], DP[i/3]) + 1
  • check[i] ๋ฐฐ์—ด์„ ํ†ตํ•ด ๊ฒฝ๋กœ ์ถ”์ ๊นŒ์ง€ ๊ฐ€๋Šฅ
  • ๊ฒฝ๋กœ ์ถœ๋ ฅ์ด ์ถ”๊ฐ€๋œ 1๋กœ ๋งŒ๋“ค๊ธฐ ํ™•์žฅํŒ

 

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ์ข‹์•„์š”์™€ ๊ณต์œ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๐Ÿ˜Š

 

 

 

'Algorithm & Data Structures > BOJ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

b14003. ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ˆ˜์—ด 5  (0) 2025.04.16
b14002. ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ˆ˜์—ด 4  (0) 2025.04.15
b1450. ๋ƒ…์ƒ‰๋ฌธ์ œ  (1) 2025.04.10
b3665. ์ตœ์ข…์ˆœ์œ„  (0) 2025.04.09
b.2696 ์ค‘์•™๊ฐ’ ๊ตฌํ•˜๊ธฐ  (0) 2025.04.07
'Algorithm & Data Structures/BOJ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • b14003. ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ˆ˜์—ด 5
  • b14002. ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„์ˆ˜์—ด 4
  • b1450. ๋ƒ…์ƒ‰๋ฌธ์ œ
  • b3665. ์ตœ์ข…์ˆœ์œ„
Geisha
Geisha
๊ฐœ๋ฐœ ์ผ๊ธฐ
  • Geisha
    Geisha
    Geisha
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (326)
      • Algorithm & Data Structures (246)
        • BOJ (104)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (27)
        • SQL (21)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • ์šด์˜์ฒด์ œ (13)
        • ๋„คํŠธ์›Œํฌ (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ด๋ถ„ํƒ์ƒ‰
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    algorithm
    ํ›„์œ„์ˆœํšŒ
    ๊ตฌํ˜„
    ๋™์ ๊ณ„ํš๋ฒ•
    baekjoon
    Dijkstra
    BFS
    ์Šคํƒ
    dp
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ๊ฒฝ๋กœ์••์ถ•
    DynamicProgramming
    Java
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Stack
    ๊ณจ๋“œ
    ์œ ๋‹ˆ์˜จํŒŒ์ธ๋“œ
    binarySearch
    ์ „์œ„์ˆœํšŒ
    ํˆฌํฌ์ธํ„ฐ
    Union-Find
    SQL
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ๋ฐฑ์ค€
    unionfind
    PriorityQueue
    programmers
    dfs
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Geisha
b12852. 1๋กœ ๋งŒ๋“ค๊ธฐ 2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.