프로그래머스/Lv.1
체육복 - Python, set
아찌방
2024. 11. 12. 23:54
https://school.programmers.co.kr/learn/courses/30/lessons/42862
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 - 나의 생각
set의 차집합을 이용해서
체육복을 빌려 줄 수 있는 경우를 체크합니다.
이미 여분이 있는 경우에도 차집합을 통해 자동으로 걸러집니다.
코드
def solution(n, lost, reserve):
real_lost = set(lost) - set(reserve)
real_reserve = set(reserve) - set(lost)
for no in sorted(real_reserve):
if no - 1 in real_lost:
real_lost.remove(no-1)
elif no + 1 in real_lost:
real_lost.remove(no+1)
return n - len(real_lost)
728x90