[자바(JAVA)] 문자 반복 출력하기

Noh Jihyeon·2023년 12월 8일
0
post-thumbnail

문제: 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")


\> ab, def

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
profile
꼭꼭 씹어서 소화시키는 맛있는 코딩

0개의 댓글