우노
[Implementation] 프로그래머스 “완주하지 못한 선수” Python 풀이 본문
Algorithm/Implementation
[Implementation] 프로그래머스 “완주하지 못한 선수” Python 풀이
운호(Noah) 2022. 11. 21. 17:25문제 링크
풀이
- 해당 문제는 아래 3가지 방법으로 해결할 수 있습니다.
- 해결책 1 : 두 배열을 정렬한 뒤, 루프를 통해 1:1 비교를 하고, 서로 다른 항목을 찾는 방법
- 해결책 2 : 해시를 사용하는 방법
- 해결책 3 : collections.Counter를 사용하는 방법
- 해당 포스트에선 “해결책 3”에 대한 설명을 다루고 있습니다.
- collections.Counter는 리스트에 존재하는 각 요소의 개수를 세주는 모듈입니다.
- 세부 설명은 아래 예제 코드와 같습니다.
코드
import collections
def solution(participant, completion):
# 1. Counter를 사용해, participant의 {참여자의 이름 : 참여자의 수}를 구한다.
# 2. Counter를 사용해, completion의 {참여자의 이름 : 참여자의 수}를 구한다.
# 3. 둘의 차를 구하면, 완주하지 못한 선수에 대한 counter가 반환된다.
answer = collections.Counter(participant) - collections.Counter(completion)
# counter의 key 값을 list화 한 뒤, 첫 번째 요소를 출력한다.
return list(answer.keys())[0]
참고
'Algorithm > Implementation' 카테고리의 다른 글
[Implementation] 백준 5430번 “AC” Python 풀이 (0) | 2022.11.12 |
---|---|
[Implementation] 백준 1790번 “수 이어 쓰기 2” Python 풀이 (1) | 2022.11.07 |
[Implementation] 백준 2615번 “오목” Python 풀이 (0) | 2022.11.06 |
[Implementation] 프로그래머스 “올바른 괄호” Python 풀이 (0) | 2022.10.24 |
[Implementation] 백준 16719번 “ZOAC” Python 풀이 (0) | 2022.10.24 |
Comments