Codility Lesson 3-2: PermMissingElem
문제 분석
- N개의 다른 Int값을 포함하는 배열 A
- 배열의 정수들의 범위는 1부터 N+1까지
- 하나의 수가 없다.
- missing number를 리턴
ex) A = [2, 3, 1, 5]
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
}
결과
🔖 문제 출처