가장 작은 값을 탐색
한다음 Swap을 통해 앞부분에 배치
시키는 정렬방식과정
1. 주어진 리스트 중에 최소값을 찾기
2. 그 값을 맨 앞에 위치한 값과 교체(패스(pass)).
3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체
/**
* 선택 정렬
* ▣ 문제
* N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 버블정렬입니다.
* ▣ 입력설명
* 첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
* 두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
* ▣ 출력설명
* 오름차순으로 정렬된 수열을 출력합니다.
* ▣ 입력예제 1
* 6
* 13 5 11 7 23 15
* ▣ 출력예제 1
* 5 7 11 13 15 23
*/
function solution() {
let answer = require('fs').readFileSync(__dirname+'/input.txt').toString().trim().split("\n").slice(1).join().split(' ').map(i=>Number(i));
let temp = 0;
for(let i = 0; i < answer.length - 1; i ++) {
let idx = i;
for(let j = i + 1; j < answer.length; j++) {
if(answer[j] < answer[idx]) idx = j
}
temp = answer[idx];
answer[idx] = answer[i];
answer[i] = temp;
}
return answer;
}
console.log(solution())
leeeunbin - [인프런] 선택 정렬
위키 백과
https://ko.wikipedia.org/wiki/%EC%84%A0%ED%83%9D_%EC%A0%95%EB%A0%AC