Rotate Array by K

Medium Arrays
Rotate an array to the right by k positions.

Sample input

[1, 2, 3, 4, 5], k = 2

Sample output

4 5 1 2 3

Solution

arr = [1, 2, 3, 4, 5]
k = 2
n = len(arr)
k %= n
result = arr[-k:] + arr[:-k]
print(*result)
const arr = [1, 2, 3, 4, 5];
let k = 2;
const n = arr.length;
k %= n;
const result = arr.slice(n - k).concat(arr.slice(0, n - k));
console.log(result.join(" "));
public class Main {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        int k = 2, n = arr.length;
        k %= n;
        int[] result = new int[n];
        for (int i = 0; i < n; i++) {
            result[(i + k) % n] = arr[i];
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++) {
            sb.append(result[i]);
            if (i < n - 1) sb.append(" ");
        }
        System.out.println(sb.toString());
    }
}
fun main() {
    val arr = intArrayOf(1, 2, 3, 4, 5)
    var k = 2
    val n = arr.size
    k %= n
    val result = IntArray(n)
    for (i in 0 until n) {
        result[(i + k) % n] = arr[i]
    }
    println(result.joinToString(" "))
}
let arr = [1, 2, 3, 4, 5]
let n = arr.count
let k = 2 % n
var result = Array(repeating: 0, count: n)
for i in 0..<n {
    result[(i + k) % n] = arr[i]
}
print(result.map { String($0) }.joined(separator: " "))
void main() {
  List<int> arr = [1, 2, 3, 4, 5];
  int n = arr.length;
  int k = 2 % n;
  List<int> result = List.filled(n, 0);
  for (int i = 0; i < n; i++) {
    result[(i + k) % n] = arr[i];
  }
  print(result.join(' '));
}
#include <iostream>
using namespace std;

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = 5, k = 2;
    k %= n;
    int result[5];
    for (int i = 0; i < n; i++) {
        result[(i + k) % n] = arr[i];
    }
    for (int i = 0; i < n; i++) {
        cout << result[i];
        if (i < n - 1) cout << " ";
    }
    cout << endl;
    return 0;
}
#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = 5, k = 2;
    k %= n;
    int result[5];
    for (int i = 0; i < n; i++) {
        result[(i + k) % n] = arr[i];
    }
    for (int i = 0; i < n; i++) {
        printf("%d", result[i]);
        if (i < n - 1) printf(" ");
    }
    printf("\n");
    return 0;
}