티스토리 뷰

def solution(n, lost, reserve):
    #set으로 중복(같은거) 제거
    lost2 = list(set(lost) - set(reserve))
    reserve2 = list(set(reserve) - set(lost))

    for i in reserve2:
        if i-1 in lost2:
            lost2.remove(i-1)
            continue
        elif i+1 in lost2:
            lost2.remove(i+1)
            continue

    # print(lost2)
    # print(reserve2)
    answer = n - len(lost2)
    return answer

와우우 이거 쉬운문젠데 오래걸렸다.

내 문제는 문제를 꼼꼼히 못 읽었다는 점!

# 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있다..
# 그렇다면..reverse에서 lost와 같은것이 있으면 제거

도난당한 학생이 여벌을 가져왔을 수 도 있기 때문에 lost와 reserve에서 같은 것을 제거해줘야한다.

따라서 set으로 같은거(중복)를 제거해 주었다.

그리고 for문으로 reserve 리스트원소들을 돌면서 전값과 후값들이 lost에 있으면 lost에서 제거해주었다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함