📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/178871
✅ 내 풀이(Success) :
🧐 Review:
문제를 푸는 것은 오래걸리지 않았지만, 변수명을 정하는 것이 너무 힘들었다. 많은 변수를 사용한 것은 아니지만, 같은 변수의 이름을 몇 번이나 바꿨는지 모르겠다. 네이밍에 대한 고민은 개발자의 숙명인걸까?!
🚩 Idea:
- callings와 players의 길이가 꽤 크다. 단순하게 계산해봐도 시간복잡도로 시간초과가 발생하기 쉽다는 생각이 든다.
- 시간복잡도를 줄일 수 있는 방법을 고민하다가 딕셔너리를 이용하기로 결정했다.
- 딕셔너리에서는 key를 알면 key에 대한 value를 O(1)의 시간복잡도를 이용해서 읽을 수 있기 때문이다.
- 이름을 key로 갖는 딕셔너리와 등수를 key로 갖는 딕셔너리를 정의하고, for문을 돌면서 call되는 이름을 이용해 두 딕셔너리를 업데이트한다.
- 파이썬 3.6에서는 딕셔너리가 순서를 기억하기 때문에 for 반복문이 종료되고 정렬없이 딕셔너리에서 이름을 꺼내 리스트로 리턴한다.
'알고리즘 문제 풀이: 파이썬 > Programmers' 카테고리의 다른 글
[프로그래머스] 대충 만든 자판 (0) | 2023.04.23 |
---|---|
[프로그래머스] 덧칠하기 (2) | 2023.04.18 |
[프로그래머스] 추억 점수 (0) | 2023.03.31 |
[프로그래머스] 둘만의 암호 (0) | 2023.03.28 |
[프로그래머스] 카드 뭉치 (0) | 2023.03.27 |
댓글