본문 바로가기

알고리즘 삽질장

[프로그래머스] 완주하지 못한 선수

반응형


문제설명

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

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

사고과정

  • 예전에 아나그램 문제에서 배운 딕셔너리 해쉬 문법을 활용해서 수월하게 구현했다! 
  • 다시한번 문법을 상시시켜보자. 빈 딕셔너리에 key, value 값을 바로 넣고자 한다면 dict.get(key, val) 이라고 하면 dict 이라는 딕셔너리에 key의 value 값에 아무것도 없으면 val을 생성하라는 뜻!

풀이

def solution(participant, completion):
    dic = {}
    for x in participant:
        dic[x] = dic.get(x, 0) + 1

    for x in completion:
        dic[x] -= 1
    
    for k, v in dic.items():
        if v == 1:
            return k
반응형

'알고리즘 삽질장' 카테고리의 다른 글

[프로그래머스] 모의고사  (0) 2021.12.07
[프로그래머스] K번째 수  (0) 2021.12.07
[프로그래머스] 소수 만들기  (0) 2021.12.07
[프로그래머스] 내적  (0) 2021.12.07
[프로그래머스] 음양 더하기  (0) 2021.12.07