배열에서 중복되지 않는 요소를 최대 k개까지 추출하는 코드를 짜는 문제로,
추출된 요소의 개수가 k보다 적다면, 남은 공간을 -1로 채우면 된다.
무작위로 K개의 수 뽑기 (shortcuts)
language = swift
func solution(_ arr:[Int], _ k:Int) -> [Int] {
var yeon: [Int] = []
for i in arr{
if yeon.count < k {
if yeon.contains(i) == false {
yeon.append(i)
}
}
}
if yeon.count < k {
(yeon.count...(k-1)).forEach{ _ in yeon.append(-1) }
}
return yeon
}
예를 들어, arr 배열이 [1, 2, 3, 2, 4, 5]이고 k가 3이라면, 함수는 [1, 2, 3]을 return 한다.
language = python
def solution(arr, k):
yeon = []
for i in arr:
if i not in yeon:
yeon.append(i)
if len(yeon) == k:
break
return yeon + [-1] * (k - len(yeon))
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 아이스 아메리카노 (w/ Swift & Python) (0) | 2024.03.19 |
---|---|
[Algorithm] 문자열 출력하기 (w/ Swift & Python) (0) | 2024.03.18 |
[Algorithm] 각도기 (w/ Swift & Python) (0) | 2024.03.16 |
[Swift] 짝수의 합 (w/ Swift & Python) (2) | 2024.03.15 |
[Algorithm] 중복된 숫자 개수 세기 (w/ Swift & Python) (0) | 2024.03.14 |