백준 2675번 Node.js 문제풀이

Cho Dragoo·2021년 5월 20일
0
post-thumbnail

JavaScript 백준 온라인 알고리즘 공부

백준 2675번 Node.js 문제풀이

문자열 반복
https://www.acmicpc.net/problem/2675



본인이 제출한 답안

const fs = require("fs");
const [...arr] = (
  process.platform === "linux"
    ? fs.readFileSync("/dev/stdin").toString()
    : `2
3 ABC
5 /HTP
`
)
  .trim()
  .split("\n");

let testCount = Number(arr[0]);
let answer = "";

for (let i = 1; i <= testCount; i++) {
  let nArr = arr[i];
  let arrCount = Number(nArr[0]);
  for (let j = 2; j < nArr.length; j++) {
    let nString = String(nArr[j]);
    for (let k = 0; k < arrCount; k++) {
      answer += nString;
    }
  }

  answer += "\n";
}

console.log(answer);

풀이과정 소감

  • 쉬울 것 같은데 이번에도 어렵게 풀게되었다. String.prototype.repeat()를 응용해보려고 노력했지만 통하지가 않았다. String 자리에 배열이 담긴 변수라고 다 적용되는게 아니였다.
    그래서 대신 for문을 더 사용해 3번이나 겹쳐졌다. 보통 다 이렇게 풀기는 하지만 깔끔하게 못푼점이 마음에 걸린다.
.
.
.

for (let i = 1; i <= testCount; i++) {
  let nArr = arr[i];
  let arrCount = Number(nArr[0]);
  for (let j = 2; j < nArr.length; j++) {
    let nString = nArr[j];
    answer += nString.toString().repeat(arrCount);
  }
.
.
.
  • toString()을 배열의 요소에 적용해 단순한 문자형이 아닌 문자열을 만들었다. repeat()는 문자열에만 적용할 수 있기 때문에 이 경우 활용 가능하다. String.prototype.repeat()에서의 'String'은 문자열이 라는 개념이라는걸 확실히 익혀두어야 시간낭비를 안한다.
profile
어떤 문제든 파악 할 수 있으며 해결책을 찾을 수 있는 개발능력을 꿈꾸고 있습니다.

0개의 댓글