Today I Learn

[TIL] 99클럽 코테 스터디 2일차 TIL + 오늘의 학습 키워드

diligentCat 2025. 1. 16. 01:01

 

🔎 문제 설명

 

문자열 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글자를 넘지 않는다. 
✅ 문제 포인트
  • 2번째 인자인 문자열의 각 문자를 1번째 인자인 숫자만큼 반복한 문자를 출력한다.
✅ 사용 함수 및 알고리즘
  • repeat()
  • for loop
✅ 문제 해결 방향성
  • 백준에서 Javascript를 사용하는 방법에 대해 알아봐야한다.
✅ 문제풀이
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');

const num1 = input.shift();

for (let i = 0; i < num1; i++) {
    let answer = '';
    
    const [num2, str] = input[i].split(" ");
    
    for (let j = 0; j < str.length; j++) {
        for (let c = 0; c < num2; c++) {
            answer += str[j];
  	}
    }
    
    console.log(answer);
}
 ✅ 회고할 점

 

  • 코드의 내용은 크게 변하지 않았는데 Node.js환경에 익숙하지 않아 런타임 에러와 컴파일 에러가 멈추지 않았다. 
  • 백준에서 코딩테스트를 하는 것을 조금 더 많이 공부할 필요가 있다. 왜 내 코드는 돌아가지 않는 것인지 전혀 분석이 되지않는다. console.log도 사용할 수 없어서 무엇이 잘 못 되고 있는지 알 수가 없었다.