혜랑's STORY

[HackerRank] Left Rotation 본문

2021 SISS 21기 활동/여름방학 C언어

[HackerRank] Left Rotation

hyerang0125 2021. 7. 31. 12:22

# 문제

 

# 풀이

int* rotateLeft(int d, int arr_count, int* arr, int* result_count) {
    *result_count = arr_count;
    int *result = malloc(sizeof(int)*(*result_count));
    int temp;
    for(int i=0; i<d; i++){
        temp = arr[0];
        for(int j=1; j<arr_count; j++){
            arr[j-1] = arr[j];
        }
        arr[arr_count-1] = temp;
    }
    for(int i=0; i<arr_count; i++)
        result[i] = arr[i];
    return result;
}
  • 배열의 값을 왼쪽으로 미루는 방법으로 temp에 0번째 원소를 넣고 배열의 값을 하나씩 당겼다. 이후 맨 마지막 자리에 temp에 저장된 0번째 값을 넣는 것으로 배열의 값을 이동시켜 주었다.
  • 문제에서 주어진 d번 왼쪽으로 밀도록 for문을 사용하였고 이후 result 배열에 복사해 주었다.

 

# 결과

'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글

[HackerRank] Counting Sort 2  (0) 2021.08.05
[HackerRank] Counting Sort 1  (0) 2021.08.05
[HackerRank] CamelCase  (0) 2021.07.31
[HackerRank] Pangrams  (0) 2021.07.24
[HackerRank] Caesar Cipher  (0) 2021.07.24