[프로그래머스] 완주하지 못한 선수 Lv.1 - [파이썬/python]
https://school.programmers.co.kr/learn/courses/30/lessons/42576
문제 설명
완주하지 못한 선수의 이름을 반환(return)하면 되는 문제이다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant
완주한 선수들의 이름이 담긴 배열 completion
※ 제한사항
- 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
- completion의 길이는 participant의 길이보다 1 작습니다.
- 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
- 참가자 중에는 동명이인이 있을 수 있습니다.
더보기
- 참여한 선수들과 완주한 선수들을 정렬 후 비교하면 어떨까요?
정답 주의!!!
def solution(participant, completion):
# 정렬을 해주어 비교하기 쉽게 만들기
# participant와 completion를 정렬했기에 같은 인덱스의 이름이 같으면 완주를 했다는 뜻입니다.
# 같은 인덱스의 이름이 다르면 완주를 못한 사람이겠죠.
participant.sort()
completion.sort()
# 정렬된 참가자 명단과 완주자 명단을 순서대로 비교합니다.
for a, b in zip(participant, completion):
# 같은 인덱스의 이름이 다르면 해당 참가자가 완주하지 못한 선수입니다.
if a != b:
return a
# 만약 모든 비교가 완료되었을 때, 마지막 참가자가 완주하지 못한 선수입니다.
# completion은 participant보다 길이가 1 작기 때문입니다.
return participant[-1]
728x90
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 삼총사 - Lv.1 (27) | 2023.08.20 |
---|---|
[프로그래머스] 내적 - Lv.1 (41) | 2023.08.18 |
[프로그래머스] 소수 만들기 - Lv.1 (1) | 2023.08.18 |
[프로그래머스] 신규 아이디 추천 - Lv.1 (19) | 2023.08.18 |
[프로그래머스] 햄버거 만들기 - Lv.1 (0) | 2023.08.18 |