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

[백준 17413/javascript] 단어 뒤집기 2

by tokkiC 2022. 8. 21.

자바스크립트의 문자열에는 reverse 함수가 없다

직접 구현하던가, 각 문자를 하나씩 배열에 넣고 배열의 reverse 함수를 사용하여 뒤집어 주면 된다

임시 문자열을 만들고 태그마다 조건을 만들어 조건이 맞을때 정답 문자열에 더해주면 되는 문제이다

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

 

17413번: 단어 뒤집기 2

문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('<', '>')로만 이루어져

www.acmicpc.net

let input = [];

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

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

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

const solution = (inp) => {
  let str = [];
  let ans = "";
  let temp = "";
  let tag = ">";

  for (let a of inp) {
    if (a === "<") {
      tag = "<";
      ans += temp.split("").reverse().join("") + a;
      temp = "";
    } else if (a === ">") {
      tag = ">";
      ans += temp + a;
      temp = "";
    } else if (a === " ") {
      if (tag === "<") {
        ans += temp;
      } else {
        ans += temp.split("").reverse().join("");
      }
      ans += " ";
      temp = "";
    } else {
      temp += a;
    }
  }
  ans += temp.split("").reverse().join("");
  console.log(ans);
};

댓글