Skip to content

2796. Repeat String πŸ”’

Description

Write code that enhances all strings such that you can call the string.replicate(x) method on any string and it will return repeated string x times.

Try to implement it without using the built-in method string.repeat.

 

Example 1:

Input: str = "hello", times = 2
Output: "hellohello"
Explanation: "hello" is repeated 2 times

Example 2:

Input: str = "code", times = 3
Output: "codecodecode"
Explanation: "code" is repeated 3 times

Example 3:

Input: str = "js", times = 1
Output: "js"
Explanation: "js" is repeated 1 time

 

Constraints:

  • 1 <= times <= 105
  • 1 <= str.length <= 1000

 

Follow up: Let's assume, for the sake of simplifying analysis, that concatenating strings is a constant time operation O(1). With this assumption in mind, can you write an algorithm with a runtime complexity of O(log n)?

Solutions

Solution 1

1
2
3
4
5
6
7
8
9
declare global {
    interface String {
        replicate(times: number): string;
    }
}

String.prototype.replicate = function (times: number) {
    return new Array(times).fill(this).join('');
};
1
2
3
String.prototype.replicate = function (times) {
    return Array(times).fill(this).join('');
};

Comments