본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 1251/javascript] 단어 나누기

by tokkiC 2022. 10. 6.

for 문과 slice 로 경우의 수만큼 단어를 나누고

split + reverse + join 으로 단어들을 역순으로 만들어 단어를 만들어

단어들을 배열에 넣고 정렬하면 되는 문제였다

자바스크립트는 문자열의 경우 앞에서부터 하나씩 비교하므로 따로 정렬을 손대지 않아도 된다

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

 

1251번: 단어 나누기

알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다

www.acmicpc.net

let input = [];

const readline = require("readline").createInterface({
  input: process.stdin,
  output: process.stdout,
});

readline.on("line", (line) => {
  input.push(line);
});

readline.on("close", () => {
  solution(input);
  process.exit();
});

const solution = (inp) => {
  let str = inp[0];
  let strlen = str.length;
  let arr = [];
  for (let i = 1; i < strlen - 1; i++) {
    for (let j = i + 1; j < strlen; j++) {
      let word;

      let a = str.slice(0, i);
      let b = str.slice(i, j);
      let c = str.slice(j);

      let ra = a.split("").reverse().join("");
      let rb = b.split("").reverse().join("");
      let rc = c.split("").reverse().join("");

      word = ra + rb + rc;
      arr.push(word);
    }
  }
  arr.sort();
  console.log(arr[0]);
};

 

댓글