7장은 정렬과 그리디, 결정 알고리즘에 관련된 챕터다.
N개의 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다.
[입력설명]
첫 번째 줄에 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에 N개의 자연수가 공백을 사이에 두고 입력됩니다. 각 자연수는 정수형 범위 안에 있습니다.
[출력설명]
오름차순으로 정렬된 수열을 출력합니다.
6
13 5 11 7 23 15
5 7 11 13 15 23
[arr[i], arr[idx]]=[arr[idx], arr[i]]
: arr[i]와 arr[idx]의 위치를 바꾼다. <html>
<head>
<meta charset="UTF-8">
<title>출력결과</title>
</head>
<body>
<script>
function solution(arr){
let answer=arr; //얕은 복사(같음)
for(let i=0; i<arr.length-1; i++){
let idx=i;
for(let j=i+1; j<arr.length; j++){
if(arr[j]<arr[idx]) idx=j; //배열에서 가장 작은 값의 인덱스를 idx에 넣음
}
[arr[i], arr[idx]]=[arr[idx], arr[i]]; //arr[i], arr[idx]를 서로 교환(js 최신버전)
}
return answer;
}
let arr=[13, 5, 11, 7, 23, 15];
console.log(solution(arr));
</script>
</body>
</html>
https://www.zerocho.com/category/Algorithm/post/57f728c85141fc5fe4f4ca89
9/14