PS/프로그래머스

[Python] 체육복

s_omi 2024. 10. 31. 09:40

✏️ 문제

 

문제 파악

주의할 점은 도난당한 학생과 여벌 체육복을 가져온 학생이 같을 수 있으며 이때 도난당한 학생은 다른 사람한테 빌려주지 않는다는 점이다!

set 자료형은 set 끼리 -로 간단하게 차집합을 구할 수 있고 remove를 통해 해당 값을 바로 지울 수 있다.

이렇게 편리한 자료형을 사용하면 쉽게 문제를 풀 수 있다.

 

자료형도 잘 활용하는 것이 문제를 푸는데 중요하다!!

 

 

코드

def solution(n, lost, reserve):
    reserve_set = set(reserve) - set(lost)
    lost_set = set(lost) - set(reserve)
    
    for r in reserve_set:
        if r-1 in lost_set:
            lost_set.remove(r-1)
        elif r+1 in lost_set:
            lost_set.remove(r+1)
    
    return n - len(lost_set)

 

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

[Python] 1번 / 붕대 감기  (0) 2024.11.01
[Python] 햄버거 만들기  (0) 2024.10.31
[Python] 키패드 누르기  (0) 2024.10.31
[Python] 로또의 최고 순위와 최저 순위  (0) 2024.10.29
[Python] 문자열 나누기  (0) 2024.10.29