알고리즘 풀이
[JAVASCRIPT] 백준 1181번 문제 풀이
Lv1_junior_dev
2022. 12. 27. 19:57
❗ 조건
조건1. 문자열의 길이가 짧은 것부터
조건2. 문자열의 길이가 같으면 사전 순으로
❗ 풀이
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let setarr = [...new Set(input)];
setarr.shift();
let result = setarr.sort().sort((a, b) => a.length - b.length).join("\n");
console.log(result)
1. Set()을 이용한 중복 제거
2. shift()를 이용한 단어의 개수 값 제거
3. let result => 중복과 단어의 개수 값을 제거한 배열을 사전순으로 정렬하고 단어순으로 정렬한 후 join 한다
4. 결과 값 출력
❗ 풀이2
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('\n');
let setarr = [...new Set(input)];
setarr.shift();
let result = setarr.sort().sort((a, b) => a.length - b.length);
result.forEach((element,index,value) => {
console.log(value[index])
});
해당 방법으로 가능하지만 forEach를 쓰니 속도가 심하게 느려지고 메모리도 많이 먹어서 비추.