DINGA DINGA
article thumbnail
728x90

https://www.hackerrank.com/challenges/runningtime/problem

 

Running Time of Algorithms | HackerRank

The running time of Algorithms in general and Insertion Sort in particular.

www.hackerrank.com

Algorithms > Sorting

 

배열이 주어지면 해당 배열을 정렬하여

shift 횟수를 리턴한다.

 

 

코드

int runningTime(int arr_count, int* arr) {
    int *temp = arr;
    int val, res = 0;
    for(int i = 1; i < arr_count; i++){
        val = temp[i];
        int j = i - 1;
        for(; j >= 0 && val < temp[j]; j--){
            temp[j + 1] = temp[j];
            res++;
        }
        temp[j+1] = val;
    }
    return res;
}

 

설명

주어진 배열을 임시로 저장할 동적 배열 temp를 선언하고,

배열의 원소를 임시로 저장할 val 변수, shift 횟수를 저장할 res 변수를 선언한다.

for문을 돌면서 배열을 정렬하고, shift가 이루어질 때마다 res를 1 증가시킨다.

모든 과정이 끝나면 res(shift 횟수)를 리턴한다.

 

728x90

'C & C++ > HackerRank' 카테고리의 다른 글

[HackerRank] Counting Sort 1  (0) 2021.09.25
[HackerRank] Breaking the Records  (1) 2021.09.19
[HackerRank] Migratory Birds  (0) 2021.09.09
[HackerRank] The Power Sum  (0) 2021.09.09
[HackerRank] Staircase  (0) 2021.08.29