| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 노개북
- 1541 node.js
- 노마드북클럽
- CSS flex
- 코딩
- 백준1026
- 1931 node.js
- Javascript
- 21313 nodejs
- 백준21313
- 모던자바스크립트
- IT5분잡학사전
- flex box
- 11047 node.js
- 노마드스터디
- 모던자바스크립트DeepDive
- 개인프로젝트
- const
- 자바스크립트 함수
- 백준25176
- 2217 node.js
- 모던자바스크립트 딥다이브
- 1789 node.js
- 11399 node.js
- 개발자
- 백준1789
- 자바스크립트 딥다이브
- 14655 nodejs
- 자바스크립트 일급객체
- 1026 node.js
Archives
- Today
- Total
캐또's coding
1181 - 단어 정렬 - node.js 본문
https://www.acmicpc.net/problem/1181
1181번: 단어 정렬
첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
www.acmicpc.net
const fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
//파일 가져오기 이번에는 변형을 하기 위해 let으로 할당한다
input.shift();
//shift를 이용해서 첫 줄의 갯수를 날려준다
input = Array.from(new Set(input));
//Set을 이용해 중복값을 먼저 날려준다
let result = [];
//결과를 출력하기 위해 빈 배열을 할당해준다
let sort = input.sort((a, b) => {
if (a.length !== b.length) {
return a.length - b.length;
}
});
for (let i = 1; i <= sort[sort.length - 1].length; i++) {
let tm = sort.filter((el) => el.length === i);
result.push(...tm.sort());
}
//정렬을 우선 진행한 뒤
//같은 길이들에서 사전순서대로 정렬한다
//결과를 result배열에 넣어준다
console.log(result.join("\n"));
//줄바꿈을 넣어서 출력하면 해결'기초 공부 > 백준 문제 풀이' 카테고리의 다른 글
| 18870 - 좌표 압축 -node.js (0) | 2023.01.16 |
|---|---|
| 10814 - 나이순 정렬 - node.js (0) | 2023.01.14 |
| 11651 - 좌표 정렬하기 2 - node.js (0) | 2023.01.12 |
| 11650 - 좌표 정렬하기 - node.js (0) | 2023.01.11 |
| 1427 - 소트인사이드 - node.js (0) | 2023.01.10 |
Comments