[백준] 10991번: 별 찍기 -16 - Java, 자바

xxx-sj·2023년 8월 29일
0

알고리즘

목록 보기
23/46


문제접근

이 문제는 2개로 나누어 생각하면 된다. 별 탑의 왼쪽에 채워지는 빈칸에 대한
규칙과 가운데 출력되는 별 탑에 대한 정보이다.
먼저 왼쪽 공백에 대한 정보는 입력받는 N -1 부터 시작하여 0까지 출력되는 것을 알 수 있다.
그리고 가운데 별은 공백을 포함하여 2N - 1만큼 증가하는것을 알 수 있다.
여기서 별은 짝수 번호 찍힌다는 것을 알 수 있다.
정확히는 인덱스는 0 부터 시작이기 때문에 [0, 2, 4 ..]이런식으로 찍힌다는 규칙을 알 수 있다.
해당 for문을 코드로 출력하면 아래와 같다.

전체코드

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));

        int N = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();

        for(int i = 1; i <= N; i++) {
            for(int j = N; j > i; j--) {
                sb.append(" ");
            }
            for(int j = 0; j < 2 * i -1; j++) {
               if(j % 2 == 0) {
                   sb.append("*");
               }
               if(j % 2 == 1) {
                   sb.append(" ");
               }
            }
            sb.append("\n");
        }
        System.out.println(sb);
    }
}
profile
틀려도 일단 기록하자

0개의 댓글