나의풀이 : 2021.06.15 - [Algorithm/프로그래머스] - [프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이
[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마.
wookidocs.tistory.com
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
다른 사람의 풀이를 보니 collections.Counter를 이용한 풀이법이 있었다.
댓글에도 다들 놀라워하고 있다 ㅋㅋㅋ
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
정말.. 파이썬의 간결함이란 예술의 경지다..
Counter를 잘 사용하면 굉장히 유용할 것 같다.
counter 객체가 빼기가 가능한지 처음 알았다(해보지를 않았으니..)
Counter 에 대해서 공부해보면 좋을 것 같다.
https://docs.python.org/ko/3/library/collections.html#collections.Counter
문제 조건에서 완주하지 못한 인원은 한명이라고 명시되어 있으므로 counter 객체에서 빼고 [0] 번째 인덱스를 리턴한 것이다.
문제 유형이 "해쉬" 에 있어서 진짜 해시 함수를 사용해야할 것 같으나 역시 문제 푸는데에는 정답은 없는 것 같다.!
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 기능개발 (level 2) Python 문제 풀이 (0) | 2021.06.25 |
---|---|
[프로그래머스] 위장 (level 2) Python 문제 풀이 (0) | 2021.06.19 |
[프로그래머스] 전화번호 목록(level 2) Python 문제 풀이 (0) | 2021.06.16 |
[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 (0) | 2021.06.15 |
[프로그래머스] 고득점 Kit 문제 풀이 (Python 버전) (0) | 2021.06.15 |
댓글