공부 스토리/Programming / / 2020. 10. 31. 22:52

[프로그래머스 Level 1 / Python3] - 체육복

목차

    반응형

    문제

    전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return

     

    문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42862 
     

    코딩테스트 연습 - 체육복

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

    programmers.co.kr


    내 풀이

    """
    n: 전체 학생 수
    lost: 체육복을 도난당한 학생들의 번호가 담긴 배열
    reserve: 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열
    
    return: 체육수업을 들을 수 있는 학생의 최댓값
    """
    
    
    def solution(n, lost, reserve):
        reserve_ = [x for x in reserve if x not in lost]
        lost_ = [x for x in lost if x not in reserve]
    
        for i in reserve_:
            if (i - 1) in lost_:
                lost_.remove(i - 1)
            elif (i + 1) in lost_:
                lost_.remove(i + 1)
    
        return n - len(lost_)
    
    
    if __name__ == '__main__':
    
        N = int(input())
        lostArr = list(map(int, input().split()))
        reverseArr = list(map(int, input().split()))
    
        print(solution(N, lostArr, reverseArr))
    

     

    반응형
    • 네이버 블로그 공유
    • 네이버 밴드 공유
    • 페이스북 공유
    • 카카오스토리 공유