본문 바로가기

개발(합니다)/알고리즘&코테

알고리즘 단계별로 풀어보기 : BOJ-2439(별찍기 [2])

반응형

문제(출처)

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


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


입력

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


출력

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


예제 입력

5


예제 출력

    *

   **

  ***

 ****

*****


내 풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
    public static void main(String args[]) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        
        try {
            int num = Integer.parseInt(br.readLine().split(" ")[0]);
            for(int i = 1; i <= num; i++) {
                for(int j = 1; j <= num-i; j++) {
                    bw.write(" ");
                }
                for(int k = 1; k <=i; k++) {
                    bw.write("*");
                }
                bw.newLine();
            }
            bw.flush();
            bw.close();
        } catch (NumberFormatException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
}


내 풀이 해석

첫번째 반복문은 행을, 두번째 반복문은 빈값 열, 세번째 반복문은 별값 열을 처리합니다.
첫번째 행에는 4개의 빈값과 1개의 별
두번째 행에는 3개의 빈값과 2개의 별
세번째 행에는 2개의 빈값과 3개의 별
네번째 행에는 1개의 빈값과 4개의 별
다섯 번째 행에는 0개의 빈값과 5개의 별
행에 따라 1씩 증분하여 빈 값과 별이 변경되고 있습니다.


반응형