[programmers] 문자열 곱하기 - JavaScript

문자열 my_string을 k번 반복한 문자열을 반환하는 solution 함수를 작성하는 문제입니다. 이중 for문을 사용한 코드를 repeat() 함수를 이용하여 최적화할 수 있었습니다.
Jan 02, 2024
[programmers] 문자열 곱하기 - JavaScript

문제 설명

문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 작성해 주세요.

제한사항

  • 1 ≤ my_string의 길이 ≤ 100
  • my_string은 영소문자로만 이루어져 있습니다.
  • 1 ≤ k ≤ 100

입출력 예

my_string
k
result
"string"
3
"stringstringstring"
"love"
10
"lovelovelovelovelovelovelovelovelovelove"

입출력 예 설명

입출력 예 #1
  • 예제 1번의 my_string은 "string"이고 이를 3번 반복한 문자열은 "stringstringstring"이므로 이를 return 합니다.
입출력 예 #2
  • 예제 2번의 my_string은 "love"이고 이를 10번 반복한 문자열은 "lovelovelovelovelovelovelovelovelovelove"이므로 이를 return 합니다.

solution.js

function solution(my_string, k) { var answer=[]; for(var i=0; i<k; i++){ for(j=0; j<my_string.length; j++){ answer.push(my_string[j]); } } return answer.join(""); }
처음 해당 문제를 접했을 때 이중for문을 통해 전체 배열을 순회하는 방식을 사용했다. 하지만 이 방법이 퍼포먼스가 떨어진다고 느겼다.

solution.js

function solution(my_string, k) { return my_string.repeat(k) }
해당 코드를 repeat() 함수를 통해 1줄로 줄일 수 있었다.
 

핵심 키워드

  • repeat() 함수는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환하는 함수다.
 

결론!

해당 문제를 풀면서 퍼포먼스의 부족함을 느꼈고, repeat()함수를 이용해 문제를 최적화하는 법을 이해할 수 있었다.
 
Share article

👨🏻‍💻DriedPollack's Blog