sm 기술 블로그

76. 2752 (수 정렬하기2) 본문

문제/백준_자바스크립트

76. 2752 (수 정렬하기2)

sm_hope 2022. 6. 13. 17:35
let input = require("fs").readFileSync(0).toString().trim().split("\n").map(Number);

input.shift();

console.log(input.sort((a, b) => a - b).join("\n"));

input.shift()

값의 기준을 오른쪽으로 이동 시킨다.

예를들어

5
5
4
1
2
3

을 입력 받으면 input shift()를 통해 값은

5
4
1
2
3

으로 된다.

 

자바스크립트에서는 sort를 문자로 정렬을 한다. 때문에 12 21 5 가 있다면 5가 가장 작지만 12 , 21 , 5순으로 정렬한다.

그것을 방지하기 위해 a와 b의 값을 비교해서 양수면 a가 더 크고 음수면 b가 더 크게 된다.

 

오름차순

arr.sort((a, b) => a - b)

이것은 축약해서 쓴 것이고 풀어서 쓰게 되면

arr.sort(function (a,b)){
  return a - b; 
}

다음과 같이 된다.

 

내림차순

만약 오름차순이 아닌 내림차순으로 하고 싶다면 b와 a 자리를 바꿔 주면 된다.

arr.sort(function (a,b)){
  return b - a; 
}

# 축약

arr.sort((a,b)=>b-a);

 

'문제 > 백준_자바스크립트' 카테고리의 다른 글

78. 1427(소트인사이드)  (0) 2022.06.14
77. 2108(통계학)  (0) 2022.06.14
75. 2750(수 정렬하기)  (0) 2022.06.12
75. 1436(영화감독 숌)  (0) 2022.06.12
74. 1018 (체스판 다시 칠하기)  (0) 2022.06.11
Comments