본문 바로가기
Algorithm/프로그래머스

[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이

by daewooki 2021. 6. 15.
반응형

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

 

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

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

programmers.co.kr

 


문제 풀이

1. participant와 completion 이라는 두 개의 리스트를 정렬하고 리스트를 비교하면 차이를 찾을 수 있다

2. 두 개의 리스트를 순차적으로 비교를 한다

3. 서로 차이가 발생하면 해당 participant의 원소를 리턴한다.

4. 서로 차이가 발생하지 않으면 completion의 가장  마지막 원소를 리턴한다.

 

def solution(participant, completion):

    participant.sort()  # 1번 과정
    completion.sort()  # 1번 과정

    for par, com in zip(participant, completion) :   # 2번 과정
        if par != com :
            return par   # 3번 과정
    return s[-1]   # 4번 과정

 

간단하게 해결할 수 있었다. 

 

다른 사람의 풀이를 보니 더 collections.Counter 를 이용하는 방법도 있었다. 역시 파이썬인가 싶다. 

 

collections.Counter를 이용한 풀이는 이 곳을 참고하시길.

 

[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 -2

나의풀이 : 2021.06.15 - [Algorithm/프로그래머스] - [프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 [프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 문제 링크 : https://program..

wookidocs.tistory.com

 

반응형

댓글