그리디 | 프로그래머스 고득점kit 체육복 | Python

Table of Contents


프로그래머스 고득점kit 체육복 | Python

📌 프로그래머스 고득점kit 체육복 문제 바로가기


🔎 문제 설명

💚 Level 1

- 난이도 ★☆☆☆
- 그리디

lost 배열에 대해 for문을 돌리면서 불가능한 경우를 impossible 로 세어줬다. 그리고 여분 체육복을 빌려준 경우는 reserve 배열에서 제거해주는 식으로 반복문을 돌면 쉽게 풀린다.

정답은 모든 경우 n - impossible 가 된다.



💻 내 코드

def solution(n, lost, reserve):
    impossible = 0
    # 여분 체육복이 있어도 도난당할 수 있음
    lost_set = list(set(lost) - set(reserve))
    reserve_set = list(set(reserve) - set(lost))
    
    for now in lost_set:
        if now - 1 in reserve_set:
            reserve_set.pop(reserve_set.index(now-1))
            continue
        if now + 1 in reserve_set:
            reserve_set.pop(reserve_set.index(now+1))
            continue
        # 빌릴 수 없는 경우 count
        impossible += 1
                
    return n - impossible




 


💙 You need to log in to GitHub to write comments. 💙
If you can't see comments, please refresh page(F5).