Hiya_
๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ
Hiya_
Github
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155) N
    • ๐Ÿ’ปBackend (1) N
      • ๋ผ์ด์ง•์บ ํ”„ (6)
      • SSAFY | ์‹ธํ”ผ (2)
      • ์‹ ํ•œDS ๊ธˆ์œตSW ์•„์นด๋ฐ๋ฏธ (2)
    • ๐Ÿ“๋ฌธ์ œ ํ’€์ด (102)
      • ๐ŸงฉBaekjoon (47)
      • ๐ŸงฉProgrammers (42)
      • ๐ŸงฉSWExpertAcademy (10)
      • ๐ŸงฉSofteer (3)
    • ๐Ÿ“‚Language (31)
      • Python (3)
      • JAVA (2)
      • SQL (6)
      • English (19)
    • โœจUseful information (5)
    • ๐Ÿ”‘Algorithms (3)
    • ๐Ÿ™Git (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๊ตฌํ˜„
  • Python
  • ํ† ์ต๊ณต๋ถ€
  • ํ† ์ต๋…ํ•™
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ํ•ด์ปค์ŠคํŒŒ๋žญ์ด
  • UNION ALL
  • ์˜ค๋ธ”์™„
  • ๋‹ค์ต์ŠคํŠธ๋ผ
  • sort
  • ์™„์ „ํƒ์ƒ‰
  • ๊ทธ๋ฆฌ๋””
  • BFS
  • ๋ฆฌ์ŠคํŠธ
  • ํ† ์ต์ ์ˆ˜
  • ํ† ์ตRC
  • greedy algorithm
  • ํ† ์ต๊ธฐ์ถœ
  • ๋ฐฑ์ค€
  • 2์ฐจ์› ๋ฐฐ์—ด
  • Union
  • ์ •๋ ฌ
  • mysql
  • BaekJoon
  • ๋‚ด์žฅํ•จ์ˆ˜
  • ํ•ด์ปค์Šคํ† ์ต
  • ์ฝ”ํ…Œ
  • ํ† ์ต๋ฌด๋ฃŒ๊ฐ•์˜
  • ํ† ์ต๋ฌด๋ฃŒ์ž๋ฃŒ
  • ํ† ์ต์‹œํ—˜

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ


Owner : ๊น€์‹ ์˜
Naver Blog

hELLO ยท Designed By ์ •์ƒ์šฐ.
Hiya_

๊ฐœ๋ฐœ์ž์ทจ๐ŸŒฑ

๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N์œผ๋กœ ํ‘œํ˜„ | DP

2023. 5. 15. 22:40

 

~๋ชฉ์ฐจ~

๋ฌธ์ œ

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

์ž‘์„ฑ ์ฝ”๋“œ


 

๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/42895

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ

- 8๋ฒˆ ์ด์ƒ ์—ฐ์‚ฐ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ง€ํ•˜๊ณ  ๊ฐ ์ธ๋ฑ์Šค ํฌ๊ธฐ ๋งŒํผ์˜ ์—ฐ์‚ฐ ์ˆ˜ํ–‰์‹œ ๊ฒฐ๊ณผ ์ˆ˜๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฐฐ์—ด ์„ ์–ธ

     -  dp[i]์—๋Š” i๋Š” i+1๋ฒˆ ์—ฐ์‚ฐ์‹œ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ˆ˜๋“ค์ด ๋“ค์–ด๊ฐ„๋‹ค.

- N์ด 5๋ผ๋ฉด 55๋Š” ์—ฐ์‚ฐ 2๋ฒˆ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฏธ๋ฆฌ ๋„ฃ์–ด ๋‘”๋‹ค.

 

- 4์ค‘ for๋ฌธ 

    1) ์—ฐ์‚ฐ ํšŸ์ˆ˜ i   

    2) ํ•ด๋‹นํ•˜๋Š” ์—ฐ์‚ฐ ํšŸ์ˆ˜ ์ดํ•˜ ์ˆ˜ j

    3) ์—ฐ์‚ฐ์„ ์œ„ํ•œ dp[j]์˜ ๋ชจ๋“  ์ˆ˜ op1

    4) i๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” j์˜ ์ง๊ถ ์ˆ˜ dp[i - j - 1]์˜ ๋ชจ๋“  ์ˆ˜  op2

 

- ํ•ด๋‹น ํ”ผ์—ฐ์‚ฐ์ž op1, op2์˜ ๋ชจ๋“  ์—ฐ์‚ฐ ํ›„ ์›ํ•˜๋Š” ๊ฐ’์ด dp[i]์— ๋“ค์–ด์žˆ๋‹ค๋ฉด ์ตœ์†Œ ์—ฐ์‚ฐ ์ˆ˜ ์ด๋ฏ€๋กœ ๋ฐ˜ํ™˜

 

 

์ž‘์„ฑ ์ฝ”๋“œ

 

def solution(N, number):
    dp = [set() for i in range(8)]  # ์—ฐ์‚ฐ ํšŸ์ˆ˜ ๋ณ„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆ˜ ์ €์žฅ(์ตœ๋Œ€ ์—ฐ์‚ฐ, 8)
    for i in range(1, 9):  # {N}, {NN}, {NNN} ...
        dp[i - 1].add(int(str(N) * i))

    for i in range(8):  # 1~8๋ฒˆ์˜ ์—ฐ์‚ฐ ํšŸ์ˆ˜ ๋ณ„ ์ˆ˜ํ–‰
        for j in range(i):  # 8๋ฒˆ์งธ ์—ฐ์‚ฐ์ด๋ผ๋ฉด 1~7
            for op1 in dp[j]:
                for op2 in dp[i - j - 1]:
                    dp[i].add(op1 + op2)
                    dp[i].add(op1 - op2)
                    dp[i].add(op1 * op2)
                    if op2 != 0:
                        dp[i].add(op1 // op2)
        if number in dp[i]:
            return i + 1
    return -1

 

 

 

๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ์ข‹์•„์š” ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”๐Ÿ’š

 

 

 

'๐Ÿ“๋ฌธ์ œ ํ’€์ด > ๐ŸงฉProgrammers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌด์ง€์˜ ๋จน๋ฐฉ ๋ผ์ด๋ธŒ | Heap(ํž™) | 2019 KAKAO BLIND RECRUITMENT  (0) 2023.05.20
[Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ | BFS | ๋‹ค์ต์ŠคํŠธ๋ผ  (0) 2023.05.16
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ | HashMap | HashSet  (0) 2023.05.06
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜ ์ฐพ๊ธฐ | ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์ฒด | ๊ณจ๋“ ๋ฐ”ํ์˜ ์ถ”์ธก  (0) 2023.05.06
[JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ชจ์˜๊ณ ์‚ฌ | ArrayList | Math  (0) 2023.05.06
    '๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌด์ง€์˜ ๋จน๋ฐฉ ๋ผ์ด๋ธŒ | Heap(ํž™) | 2019 KAKAO BLIND RECRUITMENT
    • [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ฐ€์žฅ ๋จผ ๋…ธ๋“œ | BFS | ๋‹ค์ต์ŠคํŠธ๋ผ
    • [JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์‹ ๊ณ  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ | HashMap | HashSet
    • [JAVA] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜ ์ฐพ๊ธฐ | ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์ฒด | ๊ณจ๋“ ๋ฐ”ํ์˜ ์ถ”์ธก
    Hiya_
    Hiya_
    ํ•˜์–€ ์ฒœ๊ณผ ๋ฐ”๋žŒ๋งŒ ์žˆ๋‹ค๋ฉด ์–ด๋””๋“  ๊ฐˆ ์ˆ˜ ์žˆ์–ด

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