def solution(n, lost, reserve):
answer = 0
new_reserve = reserve[:]
for lost_num in lost:
for idx in range(lost_num - 1, lost_num + 2):
if idx in new_reserve:
new_reserve.remove(idx)
break
answer = n - len(lost) + (len(reserve) - len(new_reserve))
return answer
5번, 12번이 통과되지 않아서 fail...
def solution(n, lost, reserve):
answer = 0
new_reserve = reserve[:]
new_lost = lost[:]
# 추가된 부분 여기부터
for num in lost:
if num in reserve:
new_reserve.remove(num)
new_lost.remove(num)
print(new_reserve)
# 여기까지
for lost_num in new_lost:
for idx in range(lost_num - 1, lost_num + 2):
if idx in new_reserve:
new_reserve.remove(idx)
break
print(n)
print(lost)
print(reserve)
print(new_reserve)
answer = n - len(lost) + (len(reserve) - len(new_reserve))
return answer
체육복을 도난당한 학생이 여벌 옷을 가지고 있을 경우,
그 여벌 옷은 반드시 자기자신이 사용해야한다는 조건을 고려하여야 한다.
new_reserve와 new_lost를 만들어서 체육복을 도난당한 사람이 여벌 옷을 가지고 있는 경우 해당 번호를 삭제하고 다음 코드를 진행했다.