코딩 테스트/Level 2

혼자 놀기의 달인

컴닥 2022. 11. 8. 23:15
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/131130

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제를 그대로 코드화 하면 답을 구할 수 있는 문제.. 
박스를 딕셔너리로 구현.

 

def solution(cards):
    boxes = {index + 1: card for index, card in enumerate(cards)}
    groups = []
    while boxes:
        visited = set()
        pos = list(boxes.keys())[0]
        while pos not in visited:
            visited.add(pos)
            temp = boxes[pos]
            del boxes[pos]
            pos = temp
        groups.append(len(visited))
    groups.sort(reverse=True)
    return groups[0] * groups[1] if len(groups) > 1 else 0
테스트 1 〉	통과 (0.01ms, 10.2MB)
테스트 2 〉	통과 (0.05ms, 10MB)
테스트 3 〉	통과 (0.05ms, 10.3MB)
테스트 4 〉	통과 (0.05ms, 10.2MB)
테스트 5 〉	통과 (0.02ms, 10.2MB)
테스트 6 〉	통과 (0.02ms, 10.4MB)
테스트 7 〉	통과 (0.05ms, 10.2MB)
테스트 8 〉	통과 (0.07ms, 10.3MB)
테스트 9 〉	통과 (0.06ms, 10.2MB)
테스트 10 〉	통과 (0.05ms, 10.2MB)
반응형