선택정렬
N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 선택정렬을 사용해서 작성하세요.
입력설명
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
출력설명
오름차순으로 정렬된 수열을 출력합니다.
입력예제
13 5 11 7 23 15
출력예제
5 7 11 13 15 23
선택정렬은
리스트에서 가장 최소값을 찾은 후 맨앞위치와 교환하고,
그 다음최소값을 찾으면 두번째 위치와 교환,
그 다음최소값을 찾으면 세번째 위치와 교환 ... 하는 방식이다.
선택정렬을 사용하면서
javascript 최신버젼으로 배열 idx요소와 특정요소의 데이터를 교환해서 저장해주는 기능을 지원해준다는 사실을 알게되었다.
function solution(arr){
let answer=arr;
//오름차순 선택정렬로 !
for(let i=0; i<arr.length-1; i++){
for(let j=i+1; j<arr.length; j++){
let idx = i;
if(arr[i] > arr[j]){
idx = j;
}
[arr[idx],arr[i]] = [arr[i],arr[idx]] //최근에 추가된 자바스크립트 기능
}
}
return answer;
}
let arr=[13, 5, 11, 7, 23, 15];
console.log(solution(arr));
'알고리즘' 카테고리의 다른 글
[알고리즘] 후위식 연산 스택(Stack)이용하여 풀기 (0) | 2022.02.04 |
---|---|
[알고리즘] 완전탐색 자연수배열요소 뒤집어 정렬하기 (0) | 2022.02.03 |
댓글