728x90
Programmers
완주하지 못한 선수
https://school.programmers.co.kr/learn/courses/30/lessons/42576
문제
코드
sort를 활용한 풀이
- 둘 다 정렬해서 다른 경우 해당 값을 return, 끝까지 다른게 없다면 마지막 선수가 완주하지 못함
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range (0,len(completion)):
if participant[i] != completion[i]:
return participant[i]
return participant[-1]
Counter를 활용한 풀이
- 완주를 못한 인원은 1명이기 때문에, 완주자에서 참가자를 빼서 얻은 딕셔너리의 0번째 key 값을 return
from collections import Counter
def solution(participant, completion):
answer = Counter(participant) - Counter(completion)
return list(answer.keys())[0]
Hash를 활용한 풀이
- 선수들의 이름의 hash값을 key로, 선수 이름은 value로 하는 딕셔너리 생성
- 완주한 선수들의 이름을 for문을 돌리면서 완주한 선수들의 이름의 해시값들 빼줌
def solution(participant, completion):
answer = ''
temp = 0
dic = {}
for part in participant:
dic[hash(part)] = part
temp += int(hash(part))
for com in completion:
temp -= hash(com)
answer = dic[temp]
return answer
728x90
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 - 파이썬 (0) | 2024.05.09 |
---|---|
[프로그래머스] 체육복 - 파이썬 (0) | 2024.05.09 |
[프로그래머스] [1차] 다트 게임 - 파이썬 (0) | 2024.05.08 |
[프로그래머스] 공원 산책 - 파이썬 (0) | 2024.05.07 |
[프로그래머스] 달리기 경주 - 파이썬 (0) | 2024.05.07 |