https://github.com/ohjeongmin/Programmers_Algorithm/tree/main/src/javascript/hash
나의 풀이
function solution(p, c) {
p.sort()
c.sort()
while(p.length) {
let pVal = p.pop()
if(pVal !== c.pop()) return pVal
}
}
풀이 이유
1. 중복값이 있을 경우
중복값이 있을 경우, 앞 인덱스보다 뒷 인덱스로 접근하는것이 값이 더 빠르게 찾아지기 때문이다.
2. pop 사용하기
pop을 사용한 이유는 다음과 같다.
pop은 맨 뒤의 값을 반환하며 동시에 배열에서 해당 값을 제거한다.
즉, while문을 한번 돌때마다 배열의 길이가 1씩 줄어든다는것.
때문에 로직이 돌때마다 탐색해야하는 배열의 길이가 줄어든다.