프로그래머스 (Swift)/기초
[Day19-5] 무작위로 K개의 수 뽑기
은더기
2024. 5. 4. 20:31
문제
내 정답 코드
import Foundation
func solution(_ arr:[Int], _ k:Int) -> [Int] {
var result:[Int] = []
for value in arr {
if result.count < k {
if !result.contains(value) {
result.append(value)
}
}
}
if result.count < k {
(0..<k-result.count).map { _ in result.append(-1) }
}
return result
}
#
1. 처음에 Set를 사용하여 중복된 값을 없앴지만, 순서가 바뀌는 바람에 실패하였다.
2. contains를 사용하여 중복된 값이 없도록 새로운 배열을 만들고
3. 새로운 배열의 count가 k보다 작으면 남은 공간을 -1로 채워준다.
배운 기술