✅ 코드
def solution(participant, completion):
tmp = {}
for player in participant:
tmp[player] = tmp.get(player, 0) + 1
for fin_player in completion:
tmp[fin_player] -= 1
if tmp[fin_player] == 0:
del tmp[fin_player]
return list(tmp.keys())[0]
participant 리스트에는 동명이인이 존재하기 때문에 집합 자료형은 사용하지 않았습니다.
대신에 동명이인의 수를 카운팅 할 수 있는 딕셔너리 자료형을 사용했습니다.
그렇게 리스트의 정보를 딕셔너리로 변환한 결과 문제를 해결할 수 있었습니다.
그 과정에서 자바스크립트 객체의 초기값을 설정했던 기억이 떠올랐습니다.
파이썬에서도 비슷한 기능을 하는 딕셔너리의 get 함수가 존재했습니다.
'알고리즘' 카테고리의 다른 글
[SQL]프로그래머스 Lv.2 DATETIME에서 DATE로 형변환 (0) | 2023.08.05 |
---|---|
[SQL]프로그래머스 Lv.2 NULL 처리하기 (0) | 2023.08.05 |
[파이썬]프로그래머스 Lv.1 다트게임 (0) | 2023.06.02 |
[파이썬]프로그래머스 Lv.1 소수만들기 (0) | 2023.06.02 |
[파이썬]프로그래머스 Lv.1 같은숫자는싫어 (0) | 2023.06.01 |