https://www.acmicpc.net/problem/2751
2751번: 수 정렬하기 2
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
www.acmicpc.net
[풀이]
let fs = require('fs');
let [n, ...input] = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
input.sort((a, b) => a - b);
console.log(input.join('\n'));
📌 여기서 주의할점은!
sort() js 내부함수 사용할 시 숫자 배열 정렬은 무조건 이처리를 해줘야함!
- 첫 번째 인자가 두 번째 인자보다 작으면 음수를 반환
- 첫 번째 인자가 두 번째 인자보다 크면 양수를 반환
- 첫 번째 인자와 두 번째 인자와 같으면 0을 반환
숫자 배열을 제대로 오름차순 정렬하기 위해서는 첫 번째 인자에서 두 번째 인자를 빼준다
[-3, 2, 0, 1, 3, -2, -1].sort((a, b) => a - b);
// [-3, -2, -1, 0, 1, 2, 3]
반대로 숫자 배열을 내림차순 정렬을 하고 싶으면 피연산자의 순서를 바꿔줘야 한다
[-3, 2, 0, 1, 3, -2, -1].sort((a, b) => b - a);
// [3, 2, 1, 0, -1, -2, -3]
728x90
반응형
'자료구조+알고리즘 > BOJ' 카테고리의 다른 글
[백준-Gold4] 11404 플로이드 - javascript (0) | 2024.03.31 |
---|---|
[백준18870-silver2] 좌표 압축 (javascript) (2) | 2024.03.07 |
[백준11441-silver3] 합 구하기 (javascript) (2) | 2024.03.05 |
[백준2167-silver5] 2차원 배열의 합 (javascript) (1) | 2024.03.05 |
[BOJ-10845_silver4] 큐 (자바스크립트) (0) | 2024.03.02 |