2444. 별 찍기 - 7

개붕이·2023년 12월 26일

Baekjoon

목록 보기
12/12

문제

풀이

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(br.readLine());
        for (int i = 1; i <= n; i++) {
            for (int j = i; j < n; j++) {
                bw.write(" ");
            }
            for (int j = 0; j < i*2-1; j++) {
                bw.write("*");
            }
            bw.write("\n");
        }
        // 먼저 피라미드형의 삼각형 절반을 출력하기 위해 n까지의 loop문을 작성한다.
        // 1. 예시로 5가 입력 되었을 때 5줄의 피라미드를 출력한다
        // 2. 그 뒤의 역 피라미드형으로 n-1 줄 출력해준다
        // 3. 공백은 각 줄마다 -1씩 줄어야하므로 초깃값을 i로 주고 반복되는 간격을 1씩 늘려가며 n-j만큼 찍음
        // 4. 별의 개수가 1 3 5 7 9 식으로 출력되니 n줄 * 2 - 1 만큼 별을 찍음
        for (int i = n-1; i >= 0; i--) {
            for (int j = n; j > i; j--) {
                bw.write(" ");
            }
            for (int j = 0; j < i*2-1; j++) {
                bw.write("*");
            }
            bw.write("\n");
        }
        // 역 피라미드의 for문
        // 5. n-1줄을 출력하는 for문
        // 6. i값이 n-1이니 j값을 n으로 정해주고 1~4 의 공백칸을 출력하도록 for문 작성
        // 7. 별의 갯수가 7 5 3 1 순으로 출력되어야 하니 i*2-1 만큼 별을 찍어냄
        bw.flush();
        bw.close();
        br.close();
profile
based on the records

0개의 댓글