ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 위클리 챌린지 7주차 입실 퇴실
    코딩 테스트/Level 2 2021. 9. 14. 16:32
    반응형

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

     

    코딩테스트 연습 - 7주차

    사회적 거리두기를 위해 회의실에 출입할 때 명부에 이름을 적어야 합니다. 입실과 퇴실이 동시에 이뤄지는 경우는 없으며, 입실 시각과 퇴실 시각은 따로 기록하지 않습니다. 오늘 회의실에는

    programmers.co.kr

     

    나보다 먼저 왔다가 나중에 간 사람들을 찾는 문제라고 생각하면 쉽다.  
    set을 이용해 풀면 크게 어렵진 않다. 시간제한의 함정이 있지만... 

    from itertools import combinations
    
    
    def solution(enter, leave):
        answer = [0 for _ in range(len(enter))]
        groups = set()
        for index, value in enumerate(enter):
            group = set(enter[:index + 1]) - set(leave[:leave.index(value)])
            if len(group) > 1:
                groups.update(combinations(sorted(group), 2))
        for a, b in groups:
            answer[a - 1] += 1
            answer[b - 1] += 1
        return answer
    테스트 1 〉	통과 (0.02ms, 10.2MB)
    테스트 2 〉	통과 (0.04ms, 10.2MB)
    테스트 3 〉	통과 (0.03ms, 10.2MB)
    테스트 4 〉	통과 (0.08ms, 10.2MB)
    테스트 5 〉	통과 (0.06ms, 10.2MB)
    테스트 6 〉	통과 (0.92ms, 10.2MB)
    테스트 7 〉	통과 (0.25ms, 10.2MB)
    테스트 8 〉	통과 (0.78ms, 10.3MB)
    테스트 9 〉	통과 (2.82ms, 10.4MB)
    테스트 10 〉	통과 (62.66ms, 13.7MB)
    테스트 11 〉	통과 (395.43ms, 16.8MB)
    테스트 12 〉	통과 (1158.34ms, 22.5MB)
    테스트 13 〉	통과 (0.01ms, 10.2MB)
    테스트 14 〉	통과 (0.02ms, 10.2MB)
    테스트 15 〉	통과 (0.02ms, 10.2MB)
    테스트 16 〉	통과 (0.01ms, 10.2MB)
    테스트 17 〉	통과 (0.02ms, 10.2MB)
    테스트 18 〉	통과 (0.06ms, 10.2MB)
    테스트 19 〉	통과 (0.05ms, 10.2MB)
    테스트 20 〉	통과 (0.04ms, 10.2MB)
    테스트 21 〉	통과 (5.53ms, 10.4MB)
    테스트 22 〉	통과 (2.18ms, 10.3MB)
    테스트 23 〉	통과 (0.52ms, 10.3MB)
    테스트 24 〉	통과 (426.47ms, 20.8MB)
    테스트 25 〉	통과 (135.70ms, 15.6MB)
    테스트 26 〉	통과 (4810.64ms, 53.5MB)
    테스트 27 〉	통과 (1928.26ms, 35.8MB)
    테스트 28 〉	통과 (0.02ms, 10.2MB)
    테스트 29 〉	통과 (0.04ms, 10.2MB)
    테스트 30 〉	통과 (1.42ms, 10.3MB)
    테스트 31 〉	통과 (11.79ms, 11.2MB)
    테스트 32 〉	통과 (75.42ms, 15MB)
    테스트 33 〉	통과 (599.32ms, 31.7MB)
    테스트 34 〉	통과 (690.87ms, 31.8MB)
    테스트 35 〉	통과 (0.05ms, 10.2MB)
    테스트 36 〉	통과 (0.29ms, 10.2MB)
    테스트 37 〉	통과 (0.01ms, 10.2MB)

    풀고 나서
    다른 분의 코드를 보니...
    조합을 사용하지 않고도 깔끔하게 푸셨...
    좋은 코드라 추천 남겼다. 
    내 코드는 왜 이 모양인가...

    반응형
Designed by Tistory.