문자열 my_string의 각 문자를 n번씩 반복해서 새로운 문자열을 만드는 문제이다.
ex)
my_string = "hello"
n = 3
이라면 결과는
"hhheeellllllooo"
가 된다.
문자열을 하나씩 확인하면서 각 문자를 n번 반복해서 answer에 추가한다.
+= 연산자를 사용해 문자열을 계속 이어 붙이는 방식이다.
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for (int i = 0; i < my_string.length(); i++) {
for (int j = 0; j < n; j++) {
answer += my_string.charAt(i); // i번째 문자 가져옴
}
}
return answer;
}
}
풀이 1과 동일하게 각 문자를 n번 반복하지만, 문자열을 StringBuilder에 추가한다.
append()를 사용하면 문자열을 반복해서 이어 붙일 때 더 효율적으로 처리할 수 있다.
class Solution {
public String solution(String my_string, int n) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < my_string.length(); i++) {
char ch = my_string.charAt(i); // i번째 문자를 가져와 ch에 저장함
for (int j = 0; j < n; j++) {
sb.append(ch); // ch를 StringBuilder에 추가함
}
}
return sb.toString(); // String으로 반환함
}
}

