개구리의 목표위치까지 강의 각 칸에 잎이 떨어져 있을 때, 개구리가 한 곳에서 다른 곳으로 이동할 수 있는 최소시간을 구하라.
즉, 개구리가 이동하기 위한 잎으로 덮여있는 길이 완성되는 시점을 구하라.
N and X are integers within the range [1..100,000];
each element of array A is an integer within the range [1..X].
ググっちゃった、、
import Foundation
import Glibc
public func solution(_ X : Int, _ A : inout [Int]) -> Int {
var forCheckPos = Set<Int>()
for i in 1...X {
forCheckPos.insert(i)
}
for (idx, val) in A.enumerated() {
forCheckPos.remove(val)
if forCheckPos.count == 0 {
return idx
}
}
return -1
}
let nums: Set<Int> = [1, 2, 3, 4]
for num in nums {
print(num) // 3 2 4 1
}
Set은 배열과 비슷하지만 정렬되지 않고, 중복 요소를 저장하지 않는다.
선언 및 초기화는 배열과 같다.