728x90

https://www.acmicpc.net/problem/2751

😢 병합 정렬로 풀어도 해결이 되지 않아 당황했지만, 퀵 정렬(Quick Sort)에 대해 배울 수 있던 문제

😊 O(n log n)를 갖는 퀵 정렬을 이용하면 문제를 해결할 수 있다.
하지만, 아래 소스 1st solution처럼 sort()로도 해결이 가능하다. 하지만, 퀵 정렬보다 시간이 더 걸린다.

퀵 정렬에 대해 참고하기 좋은 포스트 👉 https://coderkoo.tistory.com/7 

퀵 정렬에 대해 참고하기 좋은 유튜브 👉 https://www.youtube.com/watch?v=7BDzle2n47c

728x90

https://www.acmicpc.net/problem/2750

Code

최종 제출 코드

😢 기본 문제

😊 JavaScript built-in method인 sort()를 사용해주면 된다.
문자를 정렬할 때는 sort()를 그냥 써줘도 되지만, 숫자를 정렬할 때는 sort((a, b) => a-b); 로 써줘야 한다.
난 for ... of를 사용하고 좋아하지만, 속도(?)와 참고하는 사람들 때문에 정석 버전으로 캡쳐했다.

Full Code (https://github.com/DasolPark/Dasol_JS_Algorithm/tree/master/Baekjoon)

// Sort numbers(Ascending order)
 
// For submit
 
// const fs = require('fs');
// const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(num => parseInt(num));
 
// For local test
const input = [5, 5, 2, 3, 4, 1];
const N = input.shift();
const sorted = input.sort((a, b) => a - b);
 
for (let i = 0; i < N; i++) {
console.log(sorted[i]);
}
 
// For submit
 
// const fs = require('fs');
// const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map(num => parseInt(num));
 
// For local test
// const input = [5, 5, 2, 3, 4, 1];
// input.shift();
// const sorted = input.sort((a, b) => a - b);
 
// for (let num of sorted) {
// console.log(num);
// }

+ Recent posts