Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 124๋‚˜๋ผ์˜ ์ˆซ์ž (level.2)

๊ฐ์ž ๐Ÿฅ” 2021. 9. 16. 12:53
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ๋งํฌ

https://programmers.co.kr/learn/courses/30/lessons/12899

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž

 

programmers.co.kr

 

๋‚˜์˜ํ’€์ด

  • ๊ทœ์น™์ฐพ๋Š”๋ฐ 1์‹œ๊ฐ„๊ฑธ๋ฆผ
  • 3์ง„๋ฒ•, 4์ง„๋ฒ• ๋“ฑ ์—ฌ๋Ÿฌ ์ง„๋ฒ•์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š” (๋‚œ ์ดํ•ด๋„๊ฐ€ ๋‚ฎ์•„์„œ ์ฐพ์•„๋ณด๋ฉด์„œ ํ’€์—ˆ์Œ ใ…  )

์‚ฌ๊ณ  ์ˆœ์„œ

  1. 3๊ฐœ์˜ ์ˆซ์ž๋กœ ๋Œ์•„๊ฐ„๋‹ค? 3์ง„๋ฒ•์„ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. 3์ง„๋ฒ•์ผ ๊ฒฝ์šฐ, 0,1,2 ์„ธ๊ฐœ์˜ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋Š”๋ฐ ํ•ด๋‹น ๋ฌธ์ œ๋Š” 1,2,4 ์ด๋ฏ€๋กœ ์–ด๋–ค๊ฒฝ์šฐ์— ์–ด๋–ค ์ˆซ์ž๊ฐ€ ์˜ค๋Š”์ง€์— ๋Œ€ํ•œ ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค
  3. ๋„์ €ํžˆ ๊ทœ์น™์„ ๋ชป์ฐพ๊ฒŸ๋‹ค๊ฐ€ ์ธํ„ฐ๋„ท์—์„œ -1์„ ํ•ด์„œ ์ด์šฉํ•œ๋‹ค๋Š” ๊ธ€์„ ์ฐธ๊ณ ํ•ด์„œ ๊ทœ์น™์„ ์ฐพ์•„๋ณด์•˜๋‹ค. 
  4. ์˜ˆ์‹œ๋ฅผ๋“ค์–ด ์ƒ๊ฐํ•ด๋ณด์ž.
    • n =10 ์ด๋ผ๋ฉด,
    • ๋จผ์ € n-1์„ ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ 9์—์„œ 3์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ์‹œ์ž‘ํ• ๊ฒƒ
    • 9๋‚˜๋ˆ„๊ธฐ3์€ ๋ชซ3, ๋‚˜๋จธ์ง€ 0 ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‚˜๋จธ์ง€ [0,1,2] ๋ฅผ [1,2,4]์— ๋Œ€์นญ์‹œํ‚ฌ ๊ฒƒ์ด๋‹ค. ๊ณ ๋กœ answer์—๋Š” 1์ด ๋“ค์–ด๊ฐ„๋‹ค.
    • ๋˜๋‹ค์‹œ ๋ชซ์—์„œ -1์„ ํ•ด๋ณด์ž. ๋ชซ=2๊ฐ€๋œ๋‹ค. 
    • 2๋‚˜๋ˆ„๊ธฐ 3์€ ๋ชซ0, ๋‚˜๋จธ์ง€๋Š” 2๊ฐ€ ๋œ๋‹ค. [0,1,2] = [1,2,4] ๋กœ ์ƒ๊ฐํ•ด์„œ answer์—๋Š” 4๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค. 
    • ์ด์ œ 3์œผ๋กœ ๋‚˜๋ˆŒ ๋ชซ์ด 0์ด ๋˜์—ˆ์œผ๋‹ˆ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•ด๋ณธ๋‹ค.
    • ์ตœ์ข…์ ์œผ๋กœ answer์€ 41์ด๋œ๋‹ค. 
def solution(n):
    nums = ['1', '2', '4'] #๋‚˜๋จธ์ง€๊ฐ€ 012 ๋ฉด ๊ฐ๊ฐ 124๋‹ˆ๊นŒ ์ธ๋ฑ์Šค๋กœ
    answer = ""
    
    while n>0:
        n-=1 #๊ทœ์น™์ด ์ด์ƒํ•œ๋ฐ 1๋นผ๋ฉด ๋‹ค ๋Œ์•„๊ฐ
        nam = n%3
        answer = str(nums[nam]) + answer #์ƒ์„ฑ๋˜๋Š” ๋‚˜๋จธ์ง€๋ฅผ ์•ž์— ๋ถ™์—ฌ์•ผํ•จ
        n = n//3 #n์ด 0์ด์ƒ์ด๋ฉด ๊ณ„์™๋Œ๋ฉด์„œ ๋‚˜๋จธ์ง€ ์•ž์— ๋ถ™์—ฌ์ค˜์•ผํ•จ
    return answer

 

๋‹ค๋ฅธ์‚ฌ๋žŒํ’€์ด

https://programmers.co.kr/learn/courses/30/lessons/12899/solution_groups?language=python3 

 

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

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

programmers.co.kr

์•„์ด๊ณ  ์–ด๋ ต๋‹ค... ๊ทœ์น™์ฐพ์€ ์‚ฌ๋žŒ๋“ค ์ •๋ง ์ฒœ์žฌ ์•„๋‹ˆ์•ผ? -1์„ ํ•ด์ค€๋‹ค๋Š” ํžŒํŠธ๋ฅผ ๋ณด๊ณ ๋„ ๋‚˜๋Š” 1์‹œ๊ฐ„๋ฐ˜์ด ๊ฑธ๋ ธ๋‹ค. ์ง„์งœ... ์—ฐ์Šต์ด ๋งŽ์ด ํ•„์š”ํ• ๊ฒƒ ๊ฐ™๋‹ค ใ… ใ…  3์ง„๋ฒ•, 5์ง„๋ฒ• ๋“ฑ ์ง„์ˆ˜์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋ถ€์กฑํ•ด์„œ ๋” ์ดํ•ดํ•˜๊ธฐ ํž˜๋“ค์—‡ ๋˜๊ฑฐ ๊ฒƒ๊ฐ™๋‹ค. ์•ž์œผ๋กœ ๋‚˜์˜ฌ ์ง„์ˆ˜๋ฅผ ์ •๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋” ๊ณต๋ถ€๋ฅผ ์ง„ํ–‰ํ•ด๋ณด์ž. 

๋ฐ˜์‘ํ˜•