알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.
단, 중복된 단어는 하나만 남기고 제거해야 한다.
첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
조건에 따라 정렬하여 단어들을 출력한다.

Math.max 메서드를 사용하여 최대값을 구해줍니다.
split 메서드로 나눠서 구해준 점수 케이스를 가지고, for문을 돌려 각 점수마다 ( 점수 / max * 100 ) 수식을 사용하여 새로운 점수를 구해 준 후 해당 값을 계속 누적시켜줍니다.
해당 값은 새로 구한 점수의 총합 점수가 되며 그 수를 과목의 개수 만큼 나눠주면 새로운 평균이 됩니다.
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
let arr = [...new Set(input)];
arr.shift();
let result = arr.sort().sort((a, b) => a.length - b.length).join("\n");
console.log(result);
new Set(input)으로 배열을 선언 후 중복된 값을 제거합니다.
arr.shift로 처음으로 입력된 13이라는 값을 제거합니다
arr.sort로 사전순으로 정렬 후
.sort((a, b) => a.length - b.length)로 길이순으로 정렬합니다
.join을 넣어 각 배열의 값 마지막에 줄바꿈을 넣어줍니다.