BJ - 문자열 반복

Goody·2021년 2월 10일
0

알고리즘

목록 보기
38/122

문제

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다.

QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+-./: 이다.

  • 입력
    첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다.

예시

INPUT

2
3 ABC
5 /HTP

OUTPUT

AAABBBCCC
/////HHHHHTTTTTPPPPP

풀이

  • 주어진 문자열을 도는 loop 내부에 loop count 값 만큼 도는 루프를 추가로 생성한다.
  • count 값 만큼 문자열의 단어 하나하나를 answer 변수에 넣는다.

코드

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

let input = [];

rl.on('line', function (line) {
    input.push(line);
  })
  .on('close', function () {
    const caseCount = input[0];
    const caseLine = input.slice(1);

    for(let i = 0; i < caseLine.length; i++) {
        const arr = caseLine[i].split(" ");
        const count = arr[0];
        const str = arr[1];
        // console.log(str);
        let answer = "";
        for(let j = 0; j < str.length; j++) {
            for(let k = 0; k < count; k++) {
                answer += str[j];
            }
        }
        console.log(answer);
    }

    process.exit();
  });

0개의 댓글