처음에는 무작정 주어진 두 배열을 순회하면서 요소를 하나씩 비교한 후 일치하지 않는 요소 값을 반환하는 코드를 작성하였다.
하지만 당연히 효율적이지 못했고 풀어내기에 어려움이 있었다.
해시라는 자료구조를 처음으로 공부해보고 Map을 사용하여 주어진 배열들을 순회하며 조건을 충족하지 못하는 요소만 반환하도록 코드를 작성하여 풀어보았다.
function solution(participant, completion) {
const PHash = new Map();
const arr = participant.forEach(e => {
if(PHash.has(e)){
PHash.set(e,PHash.get(e) + 1)
}else{
PHash.set(e,1)
}
});
const answerArr = completion.map(e => {
PHash.set(e, PHash.get(e) - 1)
if(PHash.get(e) === 0){
PHash.delete(e)
}
})
return [...PHash][0][0]
}
'Coding Test > 항해99 - 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 6일차 TIL(5월 26일) + 알고리즘 정렬 (0) | 2024.05.26 |
---|---|
99클럽 코테 스터디 5일차 TIL(5월 25일) + 자료구조 Array (0) | 2024.05.25 |
99클럽 코테 스터디 4일차 TIL(5월 24일) + 자료구조 Heap (0) | 2024.05.24 |
99클럽 코테 스터디 3일차 TIL(5월 23일) + 자료구조 Stack (0) | 2024.05.23 |
99클럽 코테 스터디 2일차 TIL(5월 22일) + 자료구조 Stack (0) | 2024.05.22 |