코딩테스트 문제풀이/inflearn

[인프런] Node.js / 섹션7-정렬과 그리디, 결정알고리즘 / 1. 선택정렬

sangchu 2023. 2. 15. 13:36

문제

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력

 

풀이

function solution(arr) {
  let answer = arr;
  let min, tmp, index;

  for (let i = 0; i < answer.length; i++) {
    min = Number.MAX_SAFE_INTEGER;
    for (let j = i; j < answer.length; j++) {
      if (min > answer[j]) {
        min = answer[j];
        index = j;
      }
    }
    tmp = answer[i];
    answer[index] = answer[i];
    answer[i] = min;
  }

  return answer;
}

let arr = [13, 5, 11, 7, 23, 15];
console.log(solution(arr));

순서대로 탐색해서 가장 작은 것을 선택해서 제일 앞으로 보냈다.

 

 

    tmp = answer[i];
    answer[index] = answer[i];
    answer[i] = min;

위 코드를 다음과 같이 최신 js문법으로 한줄로 작성할 수 있다.

   [answer[i], answer[index]] = [min, answer[i]];