관리 메뉴

사과하는 제라스

[백준 BOJ 2439번] 별 찍기-2 본문

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

[백준 BOJ 2439번] 별 찍기-2

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

목차

    728x90
    반응형

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

     

    2439번: 별 찍기 - 2

    첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

    www.acmicpc.net

     

    1. 문제

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

    하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.


    2. 입력

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

    5

    3. 출력

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

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

    4. 풀이

    어쩔 수 없이 이중 for문을 써야 한다. 입력받는 N 값이 곧 각 행의 전체 길이라고 보면 된다. 그 길이를 *과 " "로 채우는 것이다.

     

    (전체 길이) - (행 번호) 만큼 " "를 sb에 append하고 (행 번호)만큼 *을 append한다. (이 과정에서 불가피하게 이중 for문을 사용하였다.)

    모든 append가 끝나면 println으로 출력을 한다.


    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++){
            for(int j=0; j<N-i; j++) sb.append(" ");
            for(int j=0; j<i; j++) sb.append("*");
            sb.append("\n");
        }
        System.out.println(sb);
      }
    }

    6. 배운 것

    -

     

     

    728x90
    반응형