[BOJ] 단어 뒤집기_9093 by JS

문제

문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.

출력

각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.

풀이

  • 문자열을 배열로 바꾸어 단어의 양 옆끼리 swap한 뒤 다시 문자열로 join해주었다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');

const length = parseInt(input[0]);
let answer = '';

for (let i = 1; i <= length; i++) {
  const str = input[i].split(' ');
  
  for (let j = 0; j < str.length; j++) {
    const word = str[j].split('');
    let left = 0;
    let right = word.length - 1;
    
    while (left < right) {
      const temp = word[left];
      word[left] = word[right];
      word[right] = temp;
      left++;
      right--;
    }
    str[j] = word.join('');
  }
  answer += str.join(' ') + '\n';
}

console.log(answer);

좋은 웹페이지 즐겨찾기