1. 첫번째 코드 : 효율성 테스트에서 통과하지 못함
- 정확성 테스트는 통과 했으나 효율성 테스트에서 통과하지 못함
- participant에 completion element가 존재하는지 확인 한 후 participant에서 제거하는 로직이 이중for문 효과를 주어서 효율적으로 작동하지 않은 듯 싶다
function solution(participant, completion) {
let answer = '';
completion.map(comElement => {
if (participant.includes(comElement)) {
participant.splice(participant.indexOf(comElement), 1);
}
});
answer = participant.join('');
return answer;
}
2. 두번째 코드 : 정확성/효율성 테스트 통과
- 두 개의 리스트를 정렬 한 후 같은 인덱스에서 다른 string이 존재하면 그 element가 정답
function solution2(participant, completion) {
let answer = '';
participant.sort();
completion.sort();
for (let i = 0; i < participant.length; i++) {
if (participant[i] !== completion[i]) {
answer = participant[i];
break;
}
}
return answer;
}
반응형
'자료구조&알고리즘 > 알고리즘-문제풀이' 카테고리의 다른 글
[프로그래머스-Level1] 체육복 (0) | 2020.06.21 |
---|---|
[프로그래머스-Level1] 두 정수 사이의 합 (0) | 2020.06.20 |
[프로그래머스-Level1] 시저암호 (0) | 2020.06.19 |
[프로그래머스-Level2] 다리를 지나는 트럭 (0) | 2020.06.19 |
[프로그래머스-Level2] 기능개발 (0) | 2020.06.18 |