[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);
      }
  }
}

두번째 풀이

function solution(A) {
    let answer = 0;
    
    A.forEach(v => {
        answer ^= v;
    })
    
    return answer;
}

좋은 웹페이지 즐겨찾기