본문 바로가기

Algorithm/Programmers

Level 0: String 클래스의 repeat()을 사용한 문자열 반복 출력하기

이 문서의 내용

    문제 설명

    문자열 str과 정수 n이 주어집니다. 

    • 1 ≤ str의 길이 ≤ 10
    • 1 ≤ n ≤ 5

    str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.

    더보기

    입력#1 예시

    string 5

    출력#1 예시

    stringstringstringstringstring

    제공되는 기본 코드는 다음과 같습니다.

    import java.util.Scanner;
    
    public class Solution {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            int n = sc.nextInt();
        }
    }

    문제 풀이: 반복문을 사용한 풀이

    반복문을 사용해 입력 n만큼 로직을 반복 수행합니다. 로직에서는 StringBuilder를 사용해 문자열 str을 이어붙입니다.

    import java.util.Scanner;
    
    public class Solution {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            int n = sc.nextInt();
            
            if (1 <= n && 5 >= n) {
                if (1 <= str.length() && 10 >= str.length()) {
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < n; ++i) 
                        sb.append(str);
                    System.out.println(sb.toString());
                }
            }
        }
    }

    문제 풀이: String 클래스의 repeat() 사용한 풀이

    String의 repeat()을 사용하면 로직을 단순화합니다. 반복문이나 String을 저장할 컨테이너가 필요 없습니다.

    import java.util.Scanner;
    
    public class Solution {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            int n = sc.nextInt();
            
            if (1 <= n && 5 >= n)
                if (1 <= str.length() && 10 >= str.length())
                    System.out.println(str.repeat(n));
        }
    }
    더보기

    repeat()은 입력된 파라미터 int count만큼 현재 저장된 문자열을 반복하여 리턴합니다.

    /**
         * Returns a string whose value is the concatenation of this
         * string repeated {@code count} times.
         * <p>
         * If this string is empty or count is zero then the empty
         * string is returned.
         *
         * @param   count number of times to repeat
         *
         * @return  A string composed of this string repeated
         *          {@code count} times or the empty string if this
         *          string is empty or count is zero
         *
         * @throws  IllegalArgumentException if the {@code count} is
         *          negative.
         *
         * @since 11
         */
        public String repeat(int count);