문제링크: 체육복
✍🏻 Information
| content | |
|---|---|
| 언어 | python |
| 난이도 | ⭐️⭐️(⭐️) -> 나 삽질했다.. |
| 풀이시간 | 40분 |
| 제출횟수 | ∞ |
| 인터넷검색유무 | yes |
🍒 My Code
def solution(n, lost, reserve):
answer = n - len(lost)
lost.sort()
reserve.sort()
tmp = []
for r in reserve:
if r in lost:
answer+=1
tmp.append(r)
for t in tmp:
lost.remove(t)
reserve.remove(t)
for l in lost:
if l-1 in reserve:
answer+=1
reserve.remove(l-1)
elif l+1 in reserve:
answer+=1
reserve.remove(l+1)
return answer
💡 What I learned
list_name.remove(value): value를 list_name에서 제거함. 값으로 삭제. 해당 값을 모두 삭제해주는 것은 아니기 때문에 해당 value가 list_name에 여러개 있다면 for문으로 제거해주어야함.for _ in list_name :
list_name.remove(value)
if문의 조건을 만족하는 값(r)으로만 리스트를 새로 구성하는 것이 인상깊었던 다른 사람의 풀이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)