새소식

Baekjoon

[BaekJoon] 1181 번 단어 정렬 문제 - (nodejs)

  • -
728x90
문제 번호 :  1181번

문제 바로가기 https://www.acmicpc.net/problem/1181

 

<<< 문제 내용 >>>

 


 

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\r\n');

input.shift();
let arr = [...new Set(input)].sort((a, b) => a.length - b.length || a.localeCompare(b));

console.log(arr.join('\n'));

 

[배운 점]

- 고민 끝에 답을 찾아보았는데, localeCompare라는 함수가 있었다. 사전적으로 정렬을 해주는 것이다.

 

그 외에도 미리 input에 split으로 자른 값들을 ...new Set을 통해 한번에 중복제거하면서 자료에 담을 수 있었다.

 

sort는 다들 알겠지만 (a, b) => a - b 의 경우에는 오름차순, b - a 의 경우에는 내림차순이다.

 

길이를 통해서 오름차순으로 정렬한 것을 사전적으로 또 정렬하는 방식인 것으로 해석했다.

 

 

 

 

 

도움이 되셨다면 공감 부탁드립니다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.