문제: https://school.programmers.co.kr/learn/courses/30/lessons/120825
✅ 내 풀이
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;
}
}
🔻 1. 다른풀이
class Solution {
public String solution(String my_string, int n) {
String answer = "";
String[] str = my_string.split(""); // 문자열을 한글자씩 분리 후 배열저장
for(int i=0; i<my_string.length(); i++){
answer += str[i].repeat(n); // 반복 후 String으로 저장
}
return answer;
}
}
📌split () : 자바의 split() 메서드는 문자열을 특정 구분자(delimiter)를 기준으로 분리하여 문자열 배열로 반환하는 기능을 제공함.
ex) abcdef -> split("c")
split("") -> 모든 단어를 끊어서 배열에 저장한다.
🔻 2. 다른풀이
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)); // c배열값 하나씩 돌리면서 반복을 함께 진행
}
return sb.toString();
}
}
📌 toCharArray()는 자바 문자열을 문자 배열(char array)로 변환하는 메서드이다.
이 메서드는 문자열의 각 문자를 개별적인 배열 요소로 만들어 새로운 char 배열을 반환한다.
String originalString = "Hello";
char[] charArray = originalString.toCharArray();
for (char ch : charArray) {
System.out.println(ch);
}
// 출력값
// H
// e
// l
// l
// o