1단계라서 빨리 풀 줄 알았는데 생각을 잘못해서 오래걸린 문제.
그냥 반복문에서 가장 상단에 놨으니까 여분 체육복 있는 사람이 도둑맞은 경우를 제일 먼저 제거해줬다고 바보 같이 생각함.
12번 테스트 케이스 실패하는 분들 5, [1,2,3], [2,3,4] -> 4
이걸로 생각해보시면 바로 나옵니다..
1이 가장 처음으로 들어갔을 때 아직 2, 3이 reserve에서 제거되지 않은 상태임.
def solution(n, lost, reserve):
answer = n - len(lost)
for l in lost:
if l in reserve:
reserve.remove(l)
answer += 1
continue
elif l - 1 in reserve:
reserve.remove(l - 1)
answer += 1
continue
elif l + 1 in reserve:
reserve.remove(l + 1)
answer += 1
return answer
def solution(n, lost, reserve):
new_lost = set(lost) - set(reserve)
new_reserve = set(reserve) - set(lost)
answer = n - len(new_lost)
for l in new_lost:
if l-1 in new_reserve:
new_reserve.remove(l-1)
answer += 1
continue
elif l+1 in new_reserve:
new_reserve.remove(l+1)
answer += 1
return answer