국문과 유목민

2. 완주하지 못한 선수 본문

알고리즘_코딩테스트/프로그래머스_Level1

2. 완주하지 못한 선수

논곰 2020. 9. 9. 15:41

0. 문제

링크) https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수��

programmers.co.kr

1. 알고리즘 계획

  1. 각 리스트를 정렬시킨다.
  2. 참가자와 완주자의 리스트를 비교하면서 완주하지 못한 사람을 확인

※ 단 한 명의 선수만 완주하지 못했단 점을 기억하기!

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 객체를 이용한 객체끼리의 연산을 확인

 

코드 만족도: ★

'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글

6. 2016년  (0) 2020.09.09
5. K번째 수  (0) 2020.09.09
4. 체육복  (0) 2020.09.09
3. 모의고사  (0) 2020.09.09
1. 크레인 인형뽑기 게임  (0) 2020.09.09
Comments