선택 정렬 방식으로 풀었다.
배열의 0번부터 순회하며, 제일 작은 위치를 찾아 나의 위치와 교환한다.
function minimumSwaps(arr) {
let result = 0;
const array = arr.slice();
let i = 0;
for (let cur of array) {
let j = i + 1;
let min = cur;
let pointer = i;
while (j < array.length) {
if (min > array[j]) {
min = array[j];
pointer = j;
}
j++;
}
if (min !== cur) result++;
array[i] = min;
array[pointer] = cur;
i += 1;
}
return result;
}
'Programming > 데일리 알고리즘' 카테고리의 다른 글
이진 탐색 Binary Search (1) | 2022.05.08 |
---|---|
[HackerRank] Luck Balance (javascript) (0) | 2021.05.31 |
[HackerRank] Special String Again (javascript) (0) | 2021.05.29 |
[HackerRank] Largest Rectangle (Javascript) (0) | 2021.05.25 |
(210519:BTB) Lesson 6. MaxProductOfThree (0) | 2021.05.19 |