
주소: https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
[ 문제 ]

[ 나의 귀여운 풀이 ]
def solution(participant, completion):
answer = ''
temp = 0
dic = {}
for parti in participant:
dic[hash(parti)] = parti
temp += hash(parti)
for comple in completion:
temp -= hash(comple)
answer = dic[temp]
return answer
[ 다른 분들의 유려한 코드 ]
import collections
def solution(participant, completion):
answer = ''
participant.sort()
completion.sort()
tmp = collections.Counter(participant) - collections.Counter(completion)
answer = list(tmp)[0]
return answer
[ 배운 것 ]
1. collections 라이브러리: 이 문제는 해시를 이용해서 푸는 문제였는데, collections.Counter() 메소드는는 각 요소들을 key로 하고 그 개수를 value로 가지는 Counter(dictionary)를 리턴한다. 이 dictionary들을 빼기 연산 하면 value가 빠지고 value가 0이되면 사라진다.
https://docs.python.org/3/library/collections.html#collections.Counter
[ 개인적인 만족도 ]
(수달 1~5마리)
수달: 2마리!
꾸준히 열심히!
'Otter's [ 개발새발 ] > # 코딩테스트 - Programmers' 카테고리의 다른 글
| [SWEA 3809번_Python] 화섭이의 정수 나열_in keyword, find 메소드 (0) | 2022.11.15 |
|---|---|
| [Programmers 코딩테스트 연습_Lv1_Python] 소수만들기 (0) | 2022.06.11 |
| [Programmers 코딩테스트 연습_Lv1_Python] 내적 (0) | 2022.06.11 |
| [Programmers 코딩테스트 연습_Lv1_Python] 없는 숫자 더하기 (0) | 2022.06.03 |
| [Programmers 코딩테스트 연습_Lv1_Python] 내적 (0) | 2022.06.03 |