프로그래머스 - 문자 반복 출력하기 (Java)

윤민선·어제

프로그래머스

목록 보기
98/98
post-thumbnail

문제 설명

문자열 my_string의 각 문자를 n번씩 반복해서 새로운 문자열을 만드는 문제이다.

ex)

my_string = "hello"
n = 3

이라면 결과는

"hhheeellllllooo"

가 된다.


풀이 1. StringBuilder를 사용하지 않는 방법

문자열을 하나씩 확인하면서 각 문자를 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;
    }
}

풀이 2. StringBuilder를 사용하는 방법

풀이 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으로 반환함
    } 
}

실행 결과


0개의 댓글