티스토리 뷰

홀수 개의 숫자를 갖는 배열 A를 입력받아 짝이 없는 정수 하나를 반환하도록 구현하는 문제.

Map을 이용해서 처리하였음. Key에는 배열의 값과 Value에는 그 배열에 몇 개 있는지 카운트값을 갖도록 하였다.

그리고 Map을 loop하면서 Value가 2로 나누었을 때 나머지가 1인 경우 그 Key를 반환하도록 처리하였다.

import java.util.HashMap;
import java.util.Map;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

class Solution {
    public int solution(int[] A) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < A.length; i++) {
            if (map.get(A[i]) == null) { // 맵에 없으면 1로 put 
                map.put(A[i], 1);
            } else { // 맵에 있으면 기존값에 +1
                map.put(A[i], map.get(A[i])+1);
            }
        }
        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
            // 2로 나눈 나머지가 1인 경우
            if (entry.getValue() % 2 == 1) {
                return entry.getKey();
            }
        }
        return 0;
    }
}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함