[Algorithm] 체육복

유지민·2024년 2월 20일
0

Algorithm

목록 보기
38/75
post-thumbnail

[프로그래머스] 체육복

체육복 문제 보기

접근 방식

예외상황을 정말정말정말정말정말 잘 생각해줘야 하는 문제...

하지만 예상하지 못했던 부분은,
1. 여벌 체육복이 있는 학생(reserve)도 도난당할 수 있다
2. lost와 reserve 배열의 순서가 불규칙할 수 있다는 점 : 정렬
-> 여벌 체육복이 있는 학생도 도난을 당할 수 있음을 고려하기 위해, lost와 reserve의 중복을 제거하기 위함

최종 코드

def solution(n, lost, reserve):
    lost.sort()
    reserve.sort()
	
    for i in reserve[:]:
        if i in lost: # reserve에 있는 요소가 lost에도 공통으로 있는 경우 제거
            reserve.remove(i)
            lost.remove(i)
	
    for i in reserve: 
        if i-1 in lost: # 앞번호부터 확인
            lost.remove(i-1)
        elif i+1 in lost: # 뒷번호 확인
            lost.remove(i+1)
    return n-len(lost)

배운점

profile
끊임없이 도전하며 사고하는 주니어 Web 개발자 유지민입니다.

0개의 댓글