728x90
Code
😢 긴가민가? 하면서 계속 진행하며 풀어봤더니 해결된 문제. 문자열은 역시 배열 index를 잘 다뤄야 좋다(문자열도 배열이니까)
😊 T에 Test Case 수를 저장하고, 그 수만큼 반복되는 for loop을 열어준다.
반복할 수인 R을 따로 저장해주고, 반복될 문자열 S도 따로 저장해주는데, 특히 S는 배열 String에서 그냥 String으로 변환해준다.
( 처음에 입력값을 가져올 때 R과 S는 함께 있으므로, split(' ') 후 slice를 이용해 잘라준다)
마지막으로, 문자열의 길이 S만큼 반복하는 for loop안에 반복할 수 R만큼 반복하는 for loop을 열어줘서 같은 문자를 P에 중복 대입해준다. 한 문장이 끝날 때마다 console.log(P);를 통해 출력해주면 된다.
✔ parseInt()
String을 Number로 변환해주기 위해 사용하였다.
(자세한 내용은 JavaScript-helper method 카테고리에 있다)
✔ split(' ')
R과 S를 분리하기 위해 사용하였다.
(자세한 내용은 JavaScript-helper method 카테고리에 있다)
✔ slice()
R은 index 0, S는 index 1에 있으므로, slice를 이용해 잘라서 저장해준다.
(자세한 내용은 JavaScript-helper method 카테고리에 있다)
Full Code
// Repeat String |
// 2nd Solution(Understandable code) |
// For submit |
// const fs = require('fs'); |
// const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); |
// For local test |
const input = ['2', '3 ABC', '5 /HTP']; |
const T = parseInt(input[0]); |
for (let i = 1; i <= T; i++) { |
const R = parseInt(input[i].split(' ').slice(0)); |
const S = input[i] |
.split(' ') |
.slice(1) |
.toString(); |
let P = ''; |
for (let j = 0; j < S.length; j++) { |
for (let k = 0; k < R; k++) { |
P += S[j]; |
} |
} |
console.log(P); |
} |
// 1st Solution |
// For submit |
// const fs = require('fs'); |
// const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n'); |
// For local test |
// const input = ['2', '3 ABC', '5 /HTP']; |
// const T = parseInt(input[0]); |
// for (let i = 1; i <= T; i++) { |
// const testCase = input[i].split(' '); |
// const R = parseInt(testCase[0]); |
// let result = ''; |
// for (let j = 0; j < testCase[1].length; j++) { |
// for (let k = 0; k < R; k++) { |
// result += testCase[1][j]; |
// } |
// } |
// console.log(result); |
// } |
'Algorithm > JavaScript(Node.js)' 카테고리의 다른 글
백준 2908번: 상수(A man named Sangsu) Node.js(JavaScript) (0) | 2020.01.05 |
---|---|
백준 1157번: 단어 공부(Word Study) Node.js(JavaScript) (0) | 2020.01.04 |
백준 10809번: 알파벳 찾기(Find alphabet) Node.js(JavaScript) (0) | 2020.01.01 |
백준 11720번: 숫자의 합(The sum of numbers) Node.js(JavaScript) (0) | 2020.01.01 |
Fibonacci(피보나치 수열) Node.js(JavaScript) (0) | 2020.01.01 |