• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이것도 선택정렬이 맞는건가요?

23.03.27 01:33 작성 조회수 223

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]보다 작은 경우마다 값을 교환하는 경우 너무 많은 교환연산을 하게 됩니다. 영상의 방법처럼 제일 작은 값을 찾아서 한 번만 교환하는 방식이 좋습니다.

성창수님의 프로필

성창수

질문자

2023.03.27

감사합니다!