문자 반복 출력하기
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
2 ≤ my_string 길이 ≤ 5
2 ≤ n ≤ 10
"my_string"은 영어 대소문자로 이루어져 있습니다.
2중 for문을 활용해 들어오는 문자열을 수를 기준으로 반복할 수 있도록 코드 구성
문자열을 .charAt() 메소드를 활용해 한글자씩 꺼내주기
하지만 이 방법은 문자열 누적합으로 인해 많은 시간이 소요된다.
그래서 StringBuffer 을 사용해주는 것이 더 좋다.
class Solution {
public String solution(String my_string, int n) {
String answer = "";
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < my_string.length(); i++) {
var c = my_string.charAt(i);
for(int j = 0; j < n; j++) {
buffer.append(c);
}
}
answer = buffer.toString();
return answer;
}
}
2중 for문과 StringBuffer 를 사용해 실행시간 단축시켜준 코드
.append() 를 활용해 StringBuffer에 문자열 추가
.charAt() 을 사용하지 않는 경우 .split("") 을 사용해 문자를 한 글자 씩 분리해줄 수 있다.
class Solution {
public String solution(String my_string, int n) {
String answer = "";
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < my_string.length(); i++) {
var c = my_string.charAt(i); // var은 지역변수에 사용 가능
for(int j = 0; j < n; j++) {
buffer.append(c);
}
}
answer = buffer.toString();
return answer;
}
}
입력된 문자를 .split()을 활용해 한 글자씩 분리해준 후 배열에 담아 .repeat()를 사용해 한 글자씩 n번 반복하는 for문으로 코드 작성
class Solution {
public String solution(String my_string, int n) {
String answer = "";
String[] arr = my_string.split("");
for (int i = 0; i < arr.length; i++) {
answer += arr[i].repeat(n);
}
return answer;
}
}