프로그래머스의 코딩테스트 연습문제 중 완주하지 못한 선수 문제의 정답입니다.
코드는 Python 3 와 자바스크립트로 작성되었습니다.
[Python]
def solution(participant, completion):
participant.sort() # sort method로 정렬
completion.sort()
for i,j in zip(participant, completion):
if i != j: # 정렬된 배열 비교 후, 같지 않으면 그 참가자의 이름을 return
return i
return participant[-1] # 완주하지 못한 사람은 한명이라는 전제가 있기에, participant 배열의 마지막 item을 반환.
[JavaScript]
function solution(participant, completion) {
participant.sort() // 배열 정렬
completion.sort()
for(var i = 0; i < participant.length; i++){
if(participant[i] != completion[i]){ // 정렬된 배열 비교 후 다른 아이템 리턴
return participant[i];
}
}
}
다른 사람의 풀이
[Python]
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
[JavaScript]
function solution(participant, completion) {
participant.sort();
completion.sort();
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i];
}
}