[TIL] 카테고리/알고리즘 문제풀기
[자바스크립트] 프로그래머스 Lv.1 완주하지 못한 선수
티레이니
2022. 5. 14. 09:46
participant.sort(); //먼저 비교하기 편하게 두 배열 모두 알파벳순 정렬해준다
completion.sort();
for (i=0; i<participant.length; i++) { //참가자 수만큼 돌린다
if (participant[i] != completion[i]) { // i번째의 참가자가 i번째 완주자와 이름이 다르면
answer = participant[i] // 그 사람이 완주하지 못한 사람!
break; // 불필요하게 프로그램이 돌아가지 않게 찾는 즉시 종료시킨다
}
}
이것도 한번 탈락한 문제.. 너무 열받았었다 ㅋㅋ
처음 작성한 코드는, 모든 답을 맞게 뽑아내었으나..
효율성 검사에서 탈락이었다.
자세히보니 배열의 길이가 10만까지도 가게 되어있었다.
그럴만하다 싶으면서도 너무하다 ㅠㅠ
암튼 다시 풀긴 했는데 코드는 더 길어짐 ㅋㅋㅋ..
예쁘게 잘 풀려면 역시 map을 알아야하나보다.
//이건 처음작성했던 코드. 틀린답변이다. 느리다고한다!
for (i=0; i<completion.length; i++) {
participant.splice(participant.indexOf(completion[i]),1)
}
https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr