탐욕법(Greedy) - 출제 빈도 낮음

 

https://programmers.co.kr/learn/courses/30/lessons/42862

 

코딩테스트 연습 - 체육복

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번

programmers.co.kr

 

내 풀이😊

def solution(n, lost, reserve):
    answer = n - len(lost)

    # 여벌 체육복이 있는 학생이 체육복을 도난당했을 경우
    for i in reserve:
        if i in lost:
            answer += 1
            lost.remove(i)
            reserve.remove(i)

    reserve.sort()
    lost.sort()
    for i in lost:
        for j in reserve:
            if -1 <= i - j <= 1:
                answer += 1
                reserve.remove(j)
                break

    return answer

 

시간 복잡도는 O(n^2) 나오는 것 같습니다😭

+ Recent posts