본문 바로가기
코딩테스트

[프로그래머스] 탐욕법(Greedy) - 체육복

by 박매트 2024. 3. 4.

 

나의 답안......

def solution(n, lost, reserve):
    
    for i in reserve:
        for l in lost:
            if len(lost) == 0:
                return n
            elif i-1==l:
                lost.remove(i-1)
            elif i+1--l:
                lost.remove(i+1)
        
    return n - len(lost)

 

문제를 단순히 생각한 것 같다.........

여벌 체육복을 잘 생각했어야 했다..

 

 

 

다른 사람 풀이

def solution(n, lost, reserve):
    _reserve = [r for r in reserve if r not in lost]
    _lost = [l for l in lost if l not in reserve]
    for r in _reserve:
        f = r - 1
        b = r + 1
        if f in _lost:
            _lost.remove(f)
        elif b in _lost:
            _lost.remove(b)
    return n - len(_lost)

 

[r for r in reserve if r not in lost] <- 이 방법 요긴하게 써야겠다..

reverse 배열 값 중에, lost 배열에 있지 않은 것만 추려내는 방법..