Posts 완주하지 못한 선수 [Python]
Post
Cancel

완주하지 못한 선수 [Python]

1. 완주하지 못한 선수


URL : https://programmers.co.kr/learn/courses/30/lessons/42576

1.1 문제 설명

  • 수많은 마라톤 선수들이 마라톤에 참여하였습니다.
  • 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
  • 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.


1.2 제한사항

  • 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
  • completion의 길이는 participant의 길이보다 1 작습니다.
  • 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
  • 참가자 중에는 동명이인이 있을 수 있습니다.


1.3 Solution

1
2
participant = ['marina', 'josipa', 'nikola', 'vinko', 'filipa']
completion = ['josipa', 'filipa', 'marina','vinko']
1
2
3
4
5
6
7
8
9
# participant : 참가자
# completion : 완주자
def solution(participant, completion):
    participant.sort()
    completion.sort()
    for i,j in zip(participant,completion):
        if i != j:
            return (i)
    return participant[-1]
1
solution(participant, completion)
1
'nikola'
  • 참가자와 완주자를 알파벳순으로 정렬함
  • zip과 for문을 이용하여 참가자와 완주자를 비교하여 만일 같지 않다면 참가자 이름을 리턴하는 함수를 만듬
  • 하지만 참가자의 제일 마지막에 있는 사람이 완주하지못한 사람일수도 있기 때문에 마지막엔 참가자의 마지막 사람을 리턴함
This post is licensed under CC BY 4.0 by the author.