작성
·
287
0
function solution(arr) {
let answer = arr;
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (answer[i] > answer[j]) {
let tmp = answer[j];
answer[j] = answer[i];
answer[i] = tmp;
}
}
}
return answer;
}
let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));
강의를 한번 다 보고 다시 안보고 푸는 중인데, 이렇게 해도 답은 나오더라구요, 이것도 선택정렬이 맞는건가요?
답변 1
1
안녕하세요^^
네. 이 방법도 선택정렬입니다. 하지만 answer[j]가 answer[i]보다 작은 경우마다 값을 교환하는 경우 너무 많은 교환연산을 하게 됩니다. 영상의 방법처럼 제일 작은 값을 찾아서 한 번만 교환하는 방식이 좋습니다.
감사합니다!