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