반응형
Recent Posts
Notice
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 혁펜하임
- leetcode
- 큐
- 스택
- 백준
- 개발자취업
- 99클럽
- Python
- easy 딥러닝
- BOJ
- 코딩테스트 준비
- boj 2309
- 프로그래머스
- 알고리즘
- 활성화 함수
- softeer
- python 2309
- 파이썬
- BFS
- 해시
- til
- 백준 2309
- 구현
- 기능개발
- 항해99
- 개발자 취업
- 코딩테스트준비
- 딥러닝
- dfs
- 99항해
Archives
- Today
- Total
동까의 코딩
[python] 프로그래머스 - 완주하지 못한 선수 본문
반응형
해시를 이용한 '완주하지 못한 선수' 문제 풀이
이 포스트에서는 프로그래머스 완주하지 못한 선수 문제를 해시를 활용하여 풀어보는 방법을 소개합니다.
본 방법은 해시값의 합을 이용해 완주하지 못한 선수의 해시값을 계산한 후, 이를 딕셔너리에서 찾아내는 방식으로 진행됩니다.
문제 개요
- 문제 설명:
참가자 명단(participant
)과 완주자 명단(completion
)이 주어질 때, 완주하지 못한 한 명의 선수를 찾는 문제입니다.
(동명이인이 존재할 수 있습니다.)
풀이 과정
- 해시값 계산 및 누적:
참가자 리스트의 각 원소에 대해hash()
함수를 사용하여 해시값을 계산하고, 이들을 모두 더합니다. - 해시값 차감:
완주자 리스트의 각 원소에 대해서 계산된 해시값을 누적합에서 차감합니다. - 딕셔너리 활용:
참가자의 해시값을 key로, 참가자 이름을 value로 저장한 딕셔너리를 활용하여, 최종 남은 해시값에 해당하는 참가자 이름을 찾습니다.
코드 구현
def solution(participant, completion):
hashmap = {}
hash_sum = 0
for i in participant:
hashmap[hash(i)] = i
hash_sum += hash(i)
for comp in completion:
hash_sum -= hash(comp)
answer = hashmap[hash_sum]
return answer
반응형
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 기능개발 (0) | 2025.03.12 |
---|---|
[python] 프로그래머스 - 베스트 앨범 (1) | 2025.03.12 |
[python] 프로그래머스 - 의상 (0) | 2025.03.12 |
[python] 프로그래머스 - 전화번호 목록 (0) | 2025.03.11 |
[python] 프로그래머스 - 폰켓몬 (0) | 2025.03.11 |