Algorithm
Algorithm | 백준 Kotlin 1158 요세푸스 문제
si8ae
2023. 9. 23. 21:47
1158번: 요세푸스 문제
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)
www.acmicpc.net
private fun main(){
val (n,k) = readLine()!!.split(" ").map { it.toInt() }
val people = mutableListOf<Int>().also { it.addAll(1..n) }
val result = mutableListOf<Int>()
var i = 0
while(people.size > 1){
i = (i + k-1) % people.size
result.add(people.removeAt(i))
}
result.add(people[0])
print("<${result.joinToString(", ")}>")
}