안녕하세요 Macus입니다.
이전편 평군 구하기를 이어 9편을 작성하겠습니다.
9편은 완주하지 못한 선수라는 알고리즘 문제입니다
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
completion의 길이는 participant의 길이보다 1 작습니다.
참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
참가자 중에는 동명이인이 있을 수 있습니다.
여러분도 한번 풀어보세요!!
function solution(participant, completion) {
participant.sort();
completion.sort();
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i];
}
}
저는 다음과 같이풀었습니다.
두 인자를 sort함수를 사용하여 정렬하고
for 문을 돌리면서 각 인자를 비교하여 다를 경우 다른 [i]값을 리턴해주는 방식으로
구현해봤습니다 :D
여러분들께 말씀드리고 싶은 점은 저는 실력자가 아니라 신입 프론트엔지니어 입니다!
제 정답이 무조건 맞는건 아니고 더 효율적인 방법이 있을거라고 생각합니다
좋은 알고리즘이나 과정이 있다면 댓글로 공유해주시면 서로 좋은 공부가 될거같습니다:D
밑에 URL로 이동하시면 프로그래머스로 이동하실 수 있습니다
완주하지 못한 선수라는 문제를 풀어보세요!
https://programmers.co.kr/learn/courses/30/lessons/42576?language=javascript
해당 내용은 깃헙에 자바스크립트 알고리즘 프로젝트로 진행할 계획입니다.
https://github.com/Jogeonsang/JS-Algorithm