문제 :

 

코딩테스트 연습 - 체육복

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

programmers.co.kr

 

Solution 

import copy
def solution(n, lost, reserve):
    answer = 0
    lost.sort()
    reserve.sort()
    
    for x in copy.deepcopy(lost):
        for y in copy.deepcopy(reserve):
            if x==y:
                lost.remove(x)
                reserve.remove(y)
                break
        
    for x in copy.deepcopy(lost):
        for y in copy.deepcopy(reserve):
            if abs(x-y)==1:
                lost.remove(x)
                reserve.remove(y)
                break

    answer=n-len(lost)
    return answer

오늘 출근길에 푼 문제,,

list를 remove하면서 for문을 돌렸더니 제대로 for문이 돌지 않았다.

copy 라이브러리의 deepcopy를 이용했더니 해결,,

 

계속 75점 맞다가 lost와 reserve 학생이 같은 경우를 먼저 제거해주어야 한다는 걸 알게 되었다..!...!!!

Level 1 따린데 자존감 내려간다 따흐흑

반응형

+ Recent posts