관리 메뉴

사과하는 제라스

[백준 BOJ 2438번] 별 찍기-1 본문

JAVA 백준 알고리즘 문제풀이/반복문

[백준 BOJ 2438번] 별 찍기-1

Xerath(제라스) 2022. 3. 28. 02:21

목차

    728x90
    반응형

    출처 : https://www.acmicpc.net/problem/2438

     

    2438번: 별 찍기 - 1

    첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

    www.acmicpc.net

     

    1. 문제

    첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제


    2. 입력

    첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

    5

    3. 출력

    첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

    *
    **
    ***
    ****
    *****

    4. 풀이

    잘못 보면 이중 for문을 써야할 듯해 보인다. *의 출력을 진행시키고 그 라인마다 *의 개수가 늘어나니 그만큼 또 출력하려니 말이다. 하지만 StringBuilder를 쓰면 쉬워진다. 일단 N을 입력받고 for문을 돌린다. 이때 sb에 *을 append해주고 출력을 하면 sb에 *이 쌓이기 때문에 굳이 각 행마다 *을 몇번을 출력하는 수고를 덜 수 있다. 


    5. 소스코드

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Main {
      public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int N = Integer.parseInt(br.readLine());
        for(int i=1; i<=N; i++){
            sb.append("*");
            System.out.println(sb);
        }
      }
    }

    6. 배운 것

    반복되고 그 길이가 일정하게 늘어나는 출력이 있다면 StringBuilder를 쓸 차례이다.

     

     

    728x90
    반응형