Algorithm/프로그래머스 예제
[코딩테스트] 완주하지 못한 선수
AI_Dev_Youngchan
2021. 10. 27. 11:33
# 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
# 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때,
# 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
#participant completion return
#["leo", "kiki", "eden"] ["eden", "kiki"] "leo"
#["marina", "josipa", "nikola", "vinko", "filipa"] ["josipa", "filipa", "marina", "nikola"] "vinko"
#["mislav", "stanko", "mislav", "ana"] ["stanko", "ana", "mislav"] "mislav"
왼쪽 참가자와 오른쪽 완주자를 보고 참가자 중에 완주하지 못한 사람을 찾는 알고리즘을 완성시켜야 한다.
participant = ["mislav", "stanko", "mislav", "ana"]
completion = ["stanko", "ana", "mislav"]
print(participant[-1])
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(len(completion)) :
if participant[i] != completion[i] :
return participant[i]
return participant[-1]
print(solution(participant, completion))
mislav
두 배열을 먼저 정렬시키고 배열을 비교해 가며 참가자 배열에서 완주자 배열에 없는 값들을 찾아내는 방식으로 해결하였다. 프로그래머스 Level 1 수준의 알고리즘이라 아직 할만 하다고 생각했는데, Level2 부터는 막히는 부분이 자주 있었다.