[Codility Lessons] 2. Arrays - OddOccurrencesInArray
https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/
풀이
첫 풀이
- 직관적으로 작성
- 정확성 테스트는 성공하나, 메모리에서 성능 테스트 실패 (이유는 A가 굉장히 큰데 또다른 A(map)을 만들었기 때문)
function solution(A) {
const pairMap = {};
A.forEach(v => {
if (!pairMap[v]) {
pairMap[v] = 1;
return;
}
pairMap[v] += 1;
})
for([key, value] of Object.entries(pairMap)) {
if (value % 2 === 1) {
return Number(key);
}
}
}
두번째 풀이
- XOR 이용
- http://hisjournal.net/blog/125 이 글을 참고했다.
- 이게 된다니.. N의 범위부터 확인하는 습관을 들여야겠다.
function solution(A) {
let answer = 0;
A.forEach(v => {
answer ^= v;
})
return answer;
}
Author And Source
이 문제에 관하여([Codility Lessons] 2. Arrays - OddOccurrencesInArray), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@doongdoong/Codility-Lessons-2.-Arrays-OddOccurrencesInArray저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)