๐ŸŒžAlgorithm/๐Ÿ”ฅprogrammers

[programmers] ํ”ผ๋กœ๋„ - ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€

๋ฟŒ์•ผ._. 2021. 12. 1. 14:08

<ํ”ผ๋กœ๋„>

๋ฌธ์ œ(์ถœ์ฒ˜: https://school.programmers.co.kr/learn/courses/30/lessons/87946)

 

 

๋ฌธ์ œ ํ’€์ด

   - my solution

from itertools import permutations # ์ˆœ์—ด

def solution(k, dungeons):
    answer = -1
    
    arr=list(permutations(dungeons, len(dungeons))) # ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜
    for i in arr:
        start=k # init
        cnt=0 # count
        for j in i:
            if start>=j[0]: # ์ตœ์†Œ ํ•„์š” ํ”ผ๋กœ๋„ ์ถฉ์กฑ
                start-=j[1] # ํ”ผ๋กœ๋„ ์†Œ๋ชจ
                cnt+=1 # ํƒํ—˜ ๊ฐ€๋Šฅ
            else:
                break
        if cnt>answer: # ํƒํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋˜์ „ ์ˆ˜
            answer=cnt
            
    return answer

 

 

1) ์ˆœ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜ ํƒ์ƒ‰

2) ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜ ํƒ์ƒ‰

  2-1) ์ตœ์†Œ ํ•„์š” ํ”ผ๋กœ๋„๋ฅผ ์ถฉ์กฑํ•œ ๊ฒฝ์šฐ: ํ”ผ๋กœ๋„ ์†Œ๋ชจ ๋ฐ cnt +1

3) ํƒํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋˜์ „ ์ˆ˜๋กœ answer ๊ฐ’ ๊ต์ฒด


์ƒ๊ฐ๐Ÿค”

 

์ฒ˜์Œ์—๋Š” ์ตœ์†Œ ํ•„์š” ํ”ผ๋กœ๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ• ๊นŒ, ์•„๋‹ˆ๋ฉด ์†Œ๋ชจ ํ”ผ๋กœ๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์•ผ ํ• ๊นŒ

์–ด๋–ค ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ํ•ด์•ผ ํ• ๊นŒ๋กœ ๊ณ ๋ฏผํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. 

ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ์ฝ์–ด๋ณด๋‹ˆ ์ตœ๋Œ€ ๋˜์ „์˜ ๊ฐœ์ˆ˜๋Š” 8๊ฐœ์ด๋ฏ€๋กœ ์ˆœ์—ด์„ ์‚ฌ์šฉํ•ด๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์—

permutations๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋”๋‹ˆ ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.


์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต, https://programmers.co.kr/learn/challenges