문제 분석 및 설계
sort()sort()Set)접근 방법
onst fs = require("fs");
const lines = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const [n, ...string] = lines;
const set = new Set([...string]);
const array = [...set]
.sort((a, b) => {
if (a.length > b.length) return 1;
if (a.length === b.length) {
if (a > b) return 1;
if (a < b) return -1;
return 0;
}
if (a.length < b.length) return -1;
})
.join("\n");
console.log(array);
[ 정렬 알고리즘(Timsort)과 비교 함수의 설계 방식 ]
return이 양수: a가 b보다 뒤에 있어야 한다
return이 음수: a가 b보다 앞에 있어야한다.
return이 0: 순서 변경을 하지않는다.