본문 바로가기

알고리즘 공부/프로그래머스 > Python3

[프로그래머스] 완주하지 못한 선수

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

 

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

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

programmers.co.kr

[정답]

 

1. participant와 completion을 sort한다.

2. 문제를 읽어보면, 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였다고 한다.

3. completion=participant-1이니, 0~len(completion)을 반복하면서 participant[i]와 completion[i]이 다를 경우, answer을 participant[i]로 해준다. 이유는 단 한 명의 선수를 제외하고는 모두 완주를 하였으니, 반복문을 돌면서 참가자와 완주자가 다를 경우, 이는 완주하지 못한 한 명의 선수일 것이다.

4. 만약, 반복문이 끝났는대도 answer='' 이라면, 참가자의 마지막에 있는 선수가 남았을 것이다. 그 선수가 완주하지 못한 선수이므로 answer에 participant[-1]을 넣어준다.

5. answer을 return한다.


[오답] → 정확성 O, 효율성 X