Programming/데일리 알고리즘
[HackerRank] Minimum Swaps 2 (javascript)
kimyejin
2021. 5. 30. 13:05
선택 정렬 방식으로 풀었다.
배열의 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;
}