내 정답:
def solution(n, lost, reserve):
l_and_r = list(set(lost).intersection(set(reserve)))
for i in l_and_r:
lost.remove(i)
reserve.remove(i)
print(lost, reserve)
answer = n - len(lost)
for i in list(lost):
if reserve.count(i-1) > 0:
lost.remove(i)
reserve.remove(i-1)
answer += 1
elif reserve.count(i+1) > 0:
lost.remove(i)
reserve.remove(i+1)
answer += 1
return answer
다른 사람들의 정답:
def solution(n, lost, reserve):
_reserve = [r for r in reserve if r not in lost]
_lost = [l for l in lost if l not in reserve]
for r in _reserve:
f = r - 1
b = r + 1
if f in _lost:
_lost.remove(f)
elif b in _lost:
_lost.remove(b)
return n - len(_lost)
'프로그래머스 알고리즘 문제 > Level 1' 카테고리의 다른 글
프로그래머스 Level 1 - 키패드 누르기 (0) | 2020.08.18 |
---|---|
프로그래머스 Level 1 - 2016년 (0) | 2020.08.17 |
프로그래머스 Level 1 - 모의고사 (0) | 2020.08.17 |
프로그래머스 Level 1 - 완주하지 못한 선수 (0) | 2020.08.17 |
프로그래머스 Level 1 - 크레인 인형 뽑기 (0) | 2020.08.17 |