728x90
https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
import Foundation
let n = readLine()!.split(separator: " ").map{Int(String($0))!}
let N = n[0]
var K = n[1]
var arr = Array(1...N)
var killed = [Int]()
var cnt = K // 제거
while !arr.isEmpty {
if cnt <= arr.count {
killed.append(arr[cnt-1])
arr.remove(at: cnt-1)
cnt = cnt + K - 1
}else {
cnt -= arr.count
}
}
print("<" + killed.map({String($0)}).joined(separator: ", ") + ">")728x90
'PS' 카테고리의 다른 글
| [Swift] 2884 알람시계 (0) | 2022.11.30 |
|---|---|
| [swift] 9086 - 문자열 (0) | 2022.11.25 |
| 10866번 덱 / swift (1) | 2022.10.03 |
| 10845번 큐 /swift (0) | 2022.10.03 |
| 11050번 이항계수 1 / swift (0) | 2022.10.03 |