TIL#3

YEIII·2021년 12월 10일

데브코스

목록 보기
3/22

Day3 오늘은 코테 광탈을 면하자!(1) 수업 날이다.

강의를 듣고 문제를 푸는데 있어서는 풀만한 부분이 많았다.

중간에 놀란점은 데브코스를 준비하면서 풀어봤던 문제들이 강의 내용에 있었는데 나는 문제의 요점을 하나도 모르고 풀었다는걸 알게 됐다ㅎ...😬 + 그때 어떻게 풀었는지 지금 다시 풀려고 보면 기억이 거의 안난다..


(출처:프로그래머스 코딩테스트 연습)

탐욕법 문제였고

def solution(n, lost, reserve):
    s = set(lost) & set(reserve) #set을 활용하여 s에 가져왔는데 도난 당한 학생들을 정의 & 는 교집합
    l = set(lost) - s   #도난당한 학생인데 s에 있으므로 빌려야 하는 학생들
    r = set(reserve) - s #도난을 당하지 않은 학생으로 빌려줄수 있는 학생들
    for x in sorted(r): #정렬
        if x - 1 in l: # 앞에친구 빌려주던지
            l.remove(x-1)
        elif x + 1 in l: #뒤에친구 빌려주던지
            l.remove(x+1)

    return n - len(l)

위와같이 해결 함 으로써 학생수가 많아졌을때의 복잡도를 낮출수 있었다.

profile
코린이의 성장 일기..

0개의 댓글