문제 설명
문자열 my_string
과 정수 n
이 매개변수로 주어질 때, my_string
에 들어있는 각 문자를 n
만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
제한사항
입출력 예
my_string | n | result |
---|---|---|
"hello" | 3 | "hhheeellllllooo" |
입출력 예 설명
입출력 예 #1
내 풀이
class Solution {
public String solution(String my_string, int n) {
String str = "";
for(int i=0; i<=my_string.length()-1; i++) {
for(int j=0; j<=n-1; j++) {
str += my_string.charAt(i);
}
}
return str;
}
}
처음에 생각했던게 String 타입의 빈 객체를 생성해서, my_string 배열 만큼 돌게되는데, 이때 str에 특정 인덱스 위치의 문자를 반환하는 .charAt
함수를 이용해서 my_string의 i번째 문자를 n번(i가 0부터니까 n-1)만큼 반복시켜서 str에 더해주었다.
.split과 .repeat를 활용한 풀이
class Solution {
public String solution(String my_string, int n) {
String str = "";
String[] arr = my_string.split("");
for(int i=0; i<my_string.length(); i++){
str += arr[i].repeat(n);
}
return str;
}
}
String 타입 arr 배열에 my_string을 .split
을 이용하여 한 글자씩 나눠 담아준다.
그리고 나서 String 객체 str에 arr[i]로 한글자씩 빼와서 .repeat(반복횟수)로 담아준다.
StringBuilder .toCharArray 와 .appent, .repeat를 활용한 풀이.
class Solution {
public String solution(String my_string, int n) {
StringBuilder sb = new StringBuilder();
for(char c : my_string.toCharArray()){
sb.append((c + "").repeat(n));
}
return sb.toString();
}
}
StringBuilder type
의 sb 객체를 하나 만들어준다.
toCharArray
는 String(문자열)을 char형 배열로 바꿔준다.
.append
함수를 이용해서 문자열을 추가해준다
.toString
을 이용해 String type으로 변환해준다.
참고자료 StringBuilder