https://programmers.co.kr/learn/courses/30/lessons/42576#
hash map을 쓰거나 Set을 쓰거나 해서 처리 가능하다.
function solution(participant, completion) {
var answer = '';
let map = new Map();
for(let i = 0; i < participant.length; i++){
map.set(participant[i], ~~map.get(participant[i]) + 1);
}
for(let i = 0; i < completion.length; i++){
map.set(completion[i], ~~map.get(completion[i]) - 1);
}
for(let [key,value] of map.entries()){
if(value == 1) return key;
}
return "";
}
Array sorting 을 통해서 해당 문제를 처리 할 수도 있다
function solution(participant, completion) {
var answer = '';
participant.sort();
completion.sort();
for(let i = 0; i < completion.length; i++){
if(participant[i] != completion[i]) return participant[i];
}
return participant[participant.length-1];
}
이걸 다르게 표현하면
function solution(participant, completion) {
var answer = '';
participant.sort((a,b)=> {
if(a > b) return 1;
if(a < b) return -1;
return 0;
});
completion.sort((a,b)=> {
if(a > b) return 1;
if(a < b) return -1;
return 0;
});
for(let i = 0; i < completion.length; i++){
if(participant[i] != completion[i]) return participant[i];
}
return participant[participant.length-1];
}
이렇게도 된다.
이전에는
sort.((a,b)=>a<b);
이 코드도 아파벳 sort로 먹었는데, 이제 더이상 안된다.
Chrome 70 and Node.js 11 에서는 boolean 처리를 지원하지 않는다.
728x90
반응형
'Problem Solving' 카테고리의 다른 글
체육복 그리고 테스트케이스 5 (0) | 2020.09.02 |
---|---|
모의고사 (0) | 2020.09.02 |
크레인 인형뽑기 게임 (0) | 2020.09.01 |
1567. Maximum Length of Subarray With Positive Product (0) | 2020.09.01 |
1568. Minimum Number of Days to Disconnect Island (0) | 2020.09.01 |