본문 바로가기
프로그래머스/Lv.1

체육복 - Python, set

by 아찌방 2024. 11. 12.

 

 

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

'프로그래머스 > Lv.1' 카테고리의 다른 글

기사단원의 무기 - Python, 약수 찾기  (0) 2024.11.14
공원 산책 - Python, 구현  (0) 2024.11.14
숫자 짝궁 - Python, Counter, extend  (0) 2024.11.10
K번째 수 - Python, heap  (1) 2024.11.08
콜라츠 추측 - Python, DFS  (0) 2024.11.08