728x90

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

 

코딩테스트 연습 - 체육복

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

programmers.co.kr

def solution(n, lost, reserve):
    answer = n - len(lost)
    i = 0
    while True:   # 여벌 옷 있고 도난 당한 애 lost, reserve 둘 다 에서 제거, answer 1 증가
        if i >= len(lost) or len(reserve) == 0:
            break

        if lost[i] in reserve:
            reserve.remove(lost[i])
            lost.remove(lost[i])
            answer += 1
            continue
        i += 1
        
    i = 0
    while True:
        if i >= len(lost) or len(reserve) == 0:
            break
            
        if lost[i]-1 in reserve:
            reserve.remove(lost[i]-1)
            answer += 1
            lost.remove(lost[i])
            continue
            
        if lost[i]+1 in reserve:
            reserve.remove(lost[i]+1)
            answer += 1
            lost.remove(lost[i])
            continue
        i += 1
    return answer
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기