def solution(n, lost, reserve):
lst = []
for i in lost:
if i in reserve:
lst.append(i)
for i in lst:
lost.remove(i)
reserve.remove(i)
lst = []
for i in lost:
if i+1 in reserve:
reserve.remove(i+1)
lst.append(i)
continue
elif i-1 in reserve:
reserve.remove(i-1)
lst.append(i)
continue
for i in lst:
lost.remove(i)
return n-len(lost)
def solution(n, lost, reserve):
used = set()
reserve = set(reserve)
lost.sort()
for l in lost:
if l in reserve:
used.add(l)
elif (l-1 in reserve) and (l-1 not in used):
used.add(l-1)
elif (l+1 in reserve) and (l+1 not in used):
used.add(l+1)
return n - len(lost) + len(used)
def solution(n, lost, reserve):
lost, reserve = list(set(lost) - set(reserve)), list(set(reserve) - set(lost))
for i in reserve:
if i-1 in lost:
lost.remove(i-1)
elif i+1 in lost:
lost.remove(i+1)
return n - len(lost)
n = 5, lost = [4, 2], reserve = [5, 3]
인 경우 정렬하지 않으면 4번이 3번에게 먼저 옷을 빌려가서 2번은 5번에게 빌릴 수 없게된다. 결과적으로 4가 출력되고 오답.
set() 자료형 사용. add 메서드로 데이터를 추가할 수 있다.
list 자료형으로 바꿔보니 런타임 에러 및 실패 메세지 반환.
[참고 사이트]
https://chancoding.tistory.com/216