231113 TIL

chillakilla·2023년 11월 13일

문자열 반복해서 출력하기

Q : 문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.

입출력의 예


솔루션 코드

<script>
let repeatStr = (str, n) => {
  for (let i = 0; i < n; i++) {
    return str.repeat(n);
  }
};

console.log(repeatStr('string', 5));
</script>
  • 반복된 문자열? 당장 For 문을 사용해보자.
  • i = 0으로 시작하고 n번이 될 때까지 증가하며 for 문을 돌거다.
  • 그렇게 해당 작업이 끝난 뒤엔 문자열 str 을 n 번을 반복하는 값을 반환해.

String.prototype.repeat()

repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.

str.repeat(count);
  • count : 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞)

  • 반환값 : 현재 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열.

예외

  • RangeError - 반복 횟수는 양의 정수여야함.
  • RangeError - 반복 횟수는 무한대보다 작아야 하며, 최대 문자열 크기를 넘어선 안됨.

다른 사람의 풀이

<script>
const readline = require('readline')
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
}).on('line', function (line) {
    const [str, repeats] = line.split(' ')
    console.log(str.repeat(Number(repeats)))
})
</script>

같은 repeat 이지만, 쓰는 사람에 따라 이렇게 간결하고 깔끔하게 쓸 수 있는 것 같다...

답을 써본 뒤에 좀 더 효율적인 코드가 있을까 생각을 해보지만...그리 쉽지는 않다.
앞으로도 계속 노력해봐야겠지.

profile
꾸준하려 하는 쉽덕놈

0개의 댓글