2022년 2월 3일 목요일

Codility - 코딩테스트 기록용 3일차

 OddOccurrencesInArray

-Find value that occurs in odd number of elements.

N개의 배열에서 짝을 이루지 않는 값을 찾아내기

프로그래머스에서 몇개 풀고왔는데 비슷한 문제가 나왔다

Map을 사용해서 getOrDefault함수를 사용했다

그리고 마지막엔 나머지값이 1인 값을 찾아내기!

public int solution(int[] A) { // write your code in Java SE 8 Map<Integer, Integer> map = new HashMap<>(); for(int i=0; i<A.length; i++){ map.put(A[i], map.getOrDefault(A[i], 0) + 1); } for(int key : map.keySet()){ if(map.get(key) % 2 == 1) {

                return key;

            }

} return -1; }

다른사람이 짠 코드도 비슷하다

하하 이번엔 비슷했다.

SWIFT버전

public func solution(_ A : inout [Int]) -> Int {
    // write your code in Swift 4.2.1 (Linux)
    var map = Dictionary<Int, Int>();

    A.forEach { index in
    map[index] = (map[index, default: 0]) + 1
    }
    
    var result = -1
    map.forEach { (key: Int, value: Int) in
        if(value % 2 == 1){
            result = key
        }
    
    }
    return result
}

댓글 없음:

댓글 쓰기