반응형
fun rotateArrayRight(arr: IntArray, n: Int): IntArray {
val len = arr.size
val rotatedArr = IntArray(len)
for (i in arr.indices) {
rotatedArr[(i + n) % len] = arr[i]
}
return rotatedArr
}
fun main() {
val s = intArrayOf(1, 2, 3, 4, 5)
val n = 2
val rotatedS = rotateArrayRight(s, n)
println(rotatedS.joinToString(", "))
}
코드 설명:
먼저, rotateArrayRight라는 함수를 정의하여 구현을 시작합니다. 이 함수는 정수 배열 arr와 정수 n을 매개변수로 받습니다
다음으로, rotatedArr라는 새로운 배열을 생성하여 회전된 배열의 값을 저장합니다
val len = arr.size
val rotatedArr = IntArray(len)
for 루프를 사용하여, 각 원소를 오른쪽으로 n의 위치만큼 이동시킵니다. 여기서 (i + n) % len 연산은 회전으로 인해 인덱스가 배열의 크기를 초과하는 것을 방지합니다.
for (i in arr.indices) {
rotatedArr[(i + n) % len] = arr[i]
}
마지막으로, 회전된 배열 rotatedArr을 반환합니다
return rotatedArr
}
예제
이제 이 함수를 사용하여 예제 배열을 회전해봅니다
fun main() {
val s = intArrayOf(1, 2, 3, 4, 5)
val n = 2
val rotatedS = rotateArrayRight(s, n)
println(rotatedS.joinToString(", "))
}
배열 [1, 2, 3, 4, 5]를 오른쪽으로 2번 회전하면 [4, 5, 1, 2, 3]이 됩니다. 결과가 올바른지 확인하려면 코드를 실행해보세요!마치며
이 포스트에서는 Kotlin을 사용하여 배열을 오른쪽으로 N번 회전하는 간단한 방법을 알아보았습니다. 기본적인 배열 인덱싱과 모듈로 연산자를 활용하여 이 문제를 효과적으로 해결할 수 있습니다. 다양한 상황에서 이 코드를 활용하거나 변형하여 사용할 수 있을 것입니다
반응형
'Algorithm' 카테고리의 다른 글
중복문자 제거 (0) | 2023.10.29 |
---|---|
문자열 뒤집기 (0) | 2023.10.29 |
큐 2개로 스택 구현하기 with Kotlin (0) | 2023.10.15 |
두 개의 스택을 사용하여 큐 구현하기 (1) | 2023.10.15 |
중괄호 짝 맞추기 문제 풀이 (0) | 2023.10.15 |