TIL | 프로그래머스 - 체육복 (그리디)

이도운·2022년 1월 1일
0

TIL

목록 보기
19/73
post-thumbnail

프로그래머스 - 체육복 (그리디)

풀이

def solution(n, lost, reserve):
    _lost = set(lost) - set(reserve)
    _reserve = set(reserve) - set(lost)
    ready = n - len(_lost)
    
    for i in _lost:
    	# 앞 사람에게 옷을 먼저 빌린다
        if (i-1) in _reserve:
            _reserve.remove(i-1)
            ready += 1
        elif (i+1) in _reserve:
            _reserve.remove(i+1)
            ready += 1
    
    return ready

무슨 이유인지는 모르겠지만 옷을 빌릴 때는 앞 사람에게 먼저 빌려야 한다는 조건을 넣어야 100점을 맞는다. 해당 조건을 넣지 않으면 80점을 맞았던 것으로 기억한다. 아직까지 논리적으로 어떤 점이 다른지 모르겠다. 문제의 설명이 부족한 것인지 내가 이전에 작성한 코드와 논리가 확실히 다른지.

profile
⌨️ 백엔드개발자 (컴퓨터공학과 졸업)

0개의 댓글