인프런 커뮤니티 질문&답변

성창수님의 프로필 이미지
성창수

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

1. 선택정렬

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

작성

·

291

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

성창수님의 프로필 이미지
성창수
질문자

감사합니다!

성창수님의 프로필 이미지
성창수

작성한 질문수

질문하기