[문제 설명]
문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 solution 함수를 완성하시오.
[제한 사항]
1) 6 <= my_string 의 길이 <= 100
2) my_string은 영소문자로만 이루어져 있습니다.
3) 1 <= k <=100
[입출력 예시]
my_string | k | result |
"string" | 3 | "stringstringstring" |
"love" | 10 | "lovelovelovelovelovelove lovelovelovelove" |
[문제 풀이]
class Solution {
public String solution(String my_string, int k) {
return my_string.repeat(k);
}
}
1. 문자열 반복 출력을 위해서 문자열 메서드 중 repeat( ) 함수를 사용합니다.
2. repeat( ) 함수는 주어지는 파라미터의 수만큼 반복해서 문자열을 출력합니다.
3. 따라서 문자열 my_string을 주어진 k 수만큼 반복하여 출력하기 위해 my_string.repeat(k); 로 코드를 작성해줍니다.
[몰랐던 사실]
보통 문자열을 반복하기 위해서는 for문을 사용해서 여러번 돌려 문자열을 나열하는 방법을 주로 떠올립니다.
하지만 repeat( ) 함수를 사용하면 더 편하고 간결하게 코드를 작성하여 문자열을 반복 나열할 수 있습니다.
repeat( ) 함수란,
String 클래스에서 제공하는 함수 중 하나로 String 문자열을 파라미터의 주어진 횟수만큼 반복하며 java11에서 새로 추가된 String 메서드입니다.
참고 사항
파라미터를 0으로 지정하면 빈 문자열을, 음수로 지정하면 illegalArgumentExceptionthrow 에러를, 1로 지정하면 문자열 그대로를 반환합니다.
* 이 함수는 내부적으로 Arrays.fill( ) 함수 및 System.arraycopy( ) 함수를 호출하여 새 문자열을 만듭니다!
public class Repeat {
public static void main(String[] args) {
// String 및 StringBuilder 호출
String str = "Wonderful";
StringBuilder sb = new StringBuilder();
// 반복문을 사용하여 문자열 반복
for(int i = 0; i < 3; i++) {
sb.append(str);
}
// 결과 출력 -> for문
System.out.println("for문 : " + sb); // WonderfulWonderfulWonderful
// 결과 출력 -> repeat 사용
System.out.println("repeat문 : " + str.repeat(3)); // WonderfulWonderfulWonderful
}
}
'Algorithm > Programmers' 카테고리의 다른 글
Lv.0 - 문자열로 변환 (0) | 2024.08.13 |
---|---|
Lv.0 - 원소들의 곱과 합 (0) | 2024.08.13 |
Lv.0 배열에서 문자열 대소문자 변환하기 (0) | 2023.11.03 |
Lv.0 뒤에서 5등 위로 (0) | 2023.10.31 |
Lv.0 양꼬치 (0) | 2023.01.01 |