Codility Lesson 3-2: PermMissingElem

minin·2022년 5월 15일
0

Algorithm

목록 보기
10/12
post-thumbnail

Codility Lesson 3-2: PermMissingElem

문제 분석

  • N개의 다른 Int값을 포함하는 배열 A
  • 배열의 정수들의 범위는 1부터 N+1까지
  • 하나의 수가 없다.
  • missing number를 리턴

ex) A = [2, 3, 1, 5]

  • 4가 없으므로 4를 리턴

Solution

  • 배열 A를 순서대로(오름차순)으로 정렬
  • 순서대로 정렬했고, 1부터 N+1의 값을 가지고 있기 때문에
    → A[index] = idnex + 1
  • 위의 조건이 맞지 않으면 index가 missing number
    → index 리턴
  • 다 돌았는데도 없으면 마지막 수가 missing number
    → A.count + 1 리턴
public func solution(_ A : inout [Int]) -> Int {
    let sortedA = A.sorted()
    for (index, value) in sortedA.enumerated() {
        if index+1 != value {
            return index+1
        }
    }
    return A.count+1
}

결과



🔖 문제 출처

profile
🍫 iOS 🍫 Swift

0개의 댓글