본문 바로가기
Self Dev./Codility

[Codility] OddOccurrencesInArray 100%

by 지구 2019. 9. 7.
주 1회 회사 동기들이랑 알고리즘 스터디를 진행하고 있다.
현재 진행하고 있는 스터디는 오프라인 코딩테스트로도 많이 활용하고 있는 Codility.
각자 풀고 자기가 푼 소스를 리뷰하는 형식인데, 뜻 깊고 보람도 있고 참으로 도움이 많이 된다 :)
뛰어나진 않지만 각 단원 별로 100% 만들기 위해 노력 중이고, 기록 및 공유하기 위해 글을 작성한다.

바로가기   >Codility   >OddOccurrencesInArray

 

문제 해석 : 홀수 개의 배열에서 짝이 안맞는 Value 리턴하는 문제

문제 풀이 : 중복된 키가 들어가지 못하는 HashSet 의 특징을 살려서, Set 에 추가 또는 제거를 하여
결국 하나 남은 값을 리턴하도록 풀었다.

-> 추가로, 이 챕터에서는  SET 에 .get() 이 없어서 .interator().next() 로 뽑아야 한다는 점을 배웠다 :)

 

import java.util.*;

class Solution {
    public int solution(int[] A) {
        
        HashSet<Integer> set = new HashSet<Integer>();
        
        for (int value : A) {
            if (set.contains(value)) {
                // 존재하면 제거
                set.remove(value);
            } else {
                // 그 외 추가
                set.add(value);
            }
        }

        return set.iterator().next(); // GET이 없음
    }
}

 

 

반응형

'Self Dev. > Codility' 카테고리의 다른 글

[Codility] TapeEquilibrium 100%  (0) 2019.09.08
[Codility] PermMissingElem 100%  (0) 2019.09.08
[Codility] FrogJmp 100%  (0) 2019.09.08
[Codility] CyclicRotation 100%  (0) 2019.09.07
[Codility] BinaryGap 100%  (0) 2019.06.02

댓글