코딩연습

[JS] 백준 알고리즘 Node.js 1251. 단어 나누기

니 뽀 2023. 3. 10. 13:41

1. 문제

https://www.acmicpc.net/problem/1251

 

2. 풀이

1) 임의의 두 부분을 골라서 단어를 쪼갠다고 했으니, 반복문을 통하여 단어를 2번 쪼갤 수 있도록 함.

2) 이후 쪼갠 단어들을 앞뒤로 뒤집은 후, 각각 단어로 만들어서 합치고 새로운 배열에 넣어둠.

3) sort() 함수와 localeCompare() 함수를 이용하여 정렬시키고 배열에 맨 처음 나오는 단어를 보여줌.

const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split('');

let makeWordArr = []

for(let i = 1; i <= inputs.length; i++){
    for(let j = i+1; j < inputs.length; j++){
        let firstWord = inputs.slice(0, i).reverse().join('');
        let secondWord = inputs.slice(i, j).reverse().join('');
        let thirdWord = inputs.slice(j).reverse().join('');
        
        makeWordArr.push(firstWord + secondWord + thirdWord);
    }
}

console.log(makeWordArr.sort((a,b) => a.localeCompare(b))[0])

 

3. 정리

- sort() 함수가 문자까지 정렬시키는 줄 알게 되었고, localeCompare() 함수를 처음 사용해보았는데 어떤 의미가 있는지는 다른 예제들을 통하여 확인해보도록 해야겠다.

 

 

4. 참고

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare