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점을 맞았던 것으로 기억한다. 아직까지 논리적으로 어떤 점이 다른지 모르겠다. 문제의 설명이 부족한 것인지 내가 이전에 작성한 코드와 논리가 확실히 다른지.