문제
내가 작성한 정답
class Solution {
public String solution(String my_string, int n) {
String answer = "";
String[] myStrings = my_string.split("");
for(int i=0; i < myStrings.length; i++){
for(int k=1; k<=n; k++)
answer += myStrings[i];
}
return answer;
}
}
다른 사람들이 작성한 정답
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 문자열을 생성하고 조작할 수 있는 클래스
String과 달리 StringBuilder는 문자열을 변경할 수 있으며, 이를 통해 성능을 향상시킬 수 있다.
StringBuilder는 스레드 안전하지 않으므로, 멀티스레드 환경에서는 StringBuffer를 사용하는 것이 좋다.
append(): 문자열 뒤에 추가
insert(): 지정한 위치에 문자열 삽입
delete(): 지정한 범위의 문자열 삭제
reverse(): 문자열 반전
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);
}
}
return answer;
}
}
charAt(int index) 메서드는 주어진 문자열에서 특정 인덱스에 위치한 문자 하나를 반환
StringBuilder sb = new StringBuilder("Hello");
sb.append(", World!"); // "Hello, World!"로 변경
char ch = sb.charAt(0); // 'H' 반환
Share article