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 |