알고리즘_코딩테스트/프로그래머스_Level1
2. 완주하지 못한 선수
논곰
2020. 9. 9. 15:41
0. 문제
링크) https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수��
programmers.co.kr
1. 알고리즘 계획
- 각 리스트를 정렬시킨다.
- 참가자와 완주자의 리스트를 비교하면서 완주하지 못한 사람을 확인
※ 단 한 명의 선수만 완주하지 못했단 점을 기억하기!
2. 나의 코드
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(len(completion)):
if participant[i] != completion[i]:
return participant[i]
return participant[len(participant)-1]
3. 다른 사람의 코드
import collections
def solution(participant, completion):
answer = ""
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
- Collections의 Counter 객체 이용.
- Counter객체를 이용한 연산을 통해 문제를 품
4. 정리 및 리뷰
- 두 개의 리스트를 비교함에 있어서 sort의 활용이 중요
- 기본적인 for문으로 사용하는 방법 이외에 Counter 객체를 이용한 객체끼리의 연산을 확인
코드 만족도: ★★★☆☆