Skip to main content

[BAEKJOON Online Judge + Node.js] 1181: Word sort

This is my first attempt 

const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");

const count = Number(input[0]); // 13

// 1. shortest word.length
// 2. If the length is the same, in alphabetical order

// sort() ?

let newArr = [];

// insert all elements in array
let shortest = input[1].length; // just initial value
for (let i = 1; i <= count; i++) {
newArr.push(input[i]);
}

// remove duplicated elements in array
let removedArr = newArr.filter((item, index) => newArr.indexOf(item) === index);

removedArr.sort((a, b) => {
return a.length - b.length;
});

console.log(removedArr);


i cannot get the correct answer as my answer keeps mixing the order like 

[  'i',  'no',  'it',  'im',  'but',  'wont',  'more',  'wait',  'yours', 'cannot',  'hesitate' ]



After referring,

const input = require("fs").readFileSync("/dev/stdin").toString().split("\n");

const count = Number(input[0]); // 13

// 1. shortest word.length
// 2. If the length is the same, in alphabetical order

// sort() ?

let newArr = [];

// insert all elements in array
let shortest = input[1].length; // just initial value
for (let i = 1; i <= count; i++) {
newArr.push(input[i]);
}

// remove duplicated elements in array
let removedArr = newArr.filter((item, index) => newArr.indexOf(item) === index);

removedArr.sort((a, b) => {
return a.length - b.length || a.localeCompare(b);

});

console.log(removedArr.join("\n"));



Things i was missing 

- I did't know the localeCompare(). This method returns a number indicating. By using 'localeCompare', can sort out in alphabetical order




Comments

Popular posts from this blog

[BAEKJOON Online Judge + Node.js] 2292: Honeycomb

  I did't use while loop that much so didn't come up what to do. While loop create a loop that execute a specific statement. So, the main point of this problem is "prevNum + max * 6" input = 13, output = 3 https://www.acmicpc.net/problem/2292 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while const input = require ( "fs" ). readFileSync ( "/dev/stdin" ). toString () ; let count = 1 ; let max = 1 ; // set the range while (max < input) { max += count * 6 ; count ++ ; } console . log (count) ; // prevNum + count * 6 // 1 so +6 every loop! // 2 - 7, 5 // 8 - 19, 11 // 20 - 37, 17 // 38 - 61, 23

FE WebDev Routine Training Feb 09, 2021

 FE WebDev Routine Training Feb 09, 2021  A lot of things to do. DO FUCKING FOCUS!!!  Coding test - codewar 1 Kakao 2021 No.1 CSS - grid/ SCSS and Cloning(besthorrorscenes.com) JS - for of loop/  Sec9/ DOM array methods toy project React -   A bit of Yelp Portfolio -  List the 100JS projects Job hunting -  NAVER Finance(on 10th) Karrot for  internship  Apply SW maestro