본문 바로가기
2023년 이전/Codility

Codility - Lesson3 PermMissingElem

by JeongUPark 2019. 11. 8.
반응형

이번에도 역시 상세한 문제는 여기서 확인 하실 수 있습니다.

간단하게 설명하면 숫자가 1부터 N+1까지 있는데 그중 없는 값을 반환하는 문제 입니다.

code 보시겠습니다.

fun solution(A: IntArray): Int {
    // write your code in Kotlin
    var B = BooleanArray(A.size+1)
    
    for(i in A.indices){
        B.set(A[i]-1,true)
    }
    for(i in B.indices){
        if(B[i] == false){
            return i+1
        }
    }
    
    return 0
}

간단하게 생각했습니다. A보다 1큰 Boolean array를 만들고 1부터 N+1까지 값이 있는 경우 B array의 그 위치를 true로 변경합니다.(Boolean Array 의 기본은 false 입니다. 그리고 각 값은 -1한 위치에 넣습니다. 이유는 Array의 값 위치는 0 부터 시작하기 때문입니다.)

그리고 false 찾아서 그 위치를 반환합니다. 반환할때 +1 해주는 것도 잊지 않습니다.

 

반응형

'2023년 이전 > Codility' 카테고리의 다른 글

Codility - Lesson 4 PermCheck  (0) 2019.11.12
Codility - Lesson 3 TapeEquilibrium  (0) 2019.11.11
Codility - Lesson 3 FrogJmp  (0) 2019.11.07
Codility - Lesson 2 Cyclic Rotation  (0) 2019.11.06
Codility - Lesson 2 OddOccurrencesInArray  (0) 2019.11.06