본문 바로가기
Coding Test

231002 문자 반복 출력하기 - Level 0

by mmm- 2023. 10. 3.

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
 

제한사항

  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

 

입출력 예

 

입출력 설명

입출력 예 #1

  • "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.

코드

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        String[] strArr = new String[my_string.length()];
        StringBuilder sb = new StringBuilder();
        
        strArr = my_string.split("");
        
        for(String arr : strArr) {
            for(int i=0; i<n; i++) {
                sb.append(arr);
            }
        }
        answer = String.valueOf(sb);
        
        return answer;
    }
}

 

풀이

my_string을 문자로 분리하여 strArr 배열에 넣는다. 이중 for문을 이용해 배열에 있는 각 문자들을 n만큼 StringBuilder에 추가해준 후 반복문이 끝나면 이를 문자열로 변환하여 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();
    }
}

for문을 통해 my_string을 문자형배열로 변환하여 repeat()을 이용해 해당 문자들을 n번만큼 StringBuilder에 추가한다.


정리

repeat()

: 문자열 반복 메서드

  • String 메서드 중 하나로 String 문자열을 주어진 횟수만큼 반복 (java 11에서 새로 추가)