[Java] 백준 - 별찍기 5

less than 1 minute read

백준 - 별 찍기 5

별 찍기 5 - Java

링크: https://www.acmicpc.net/problem/2442


문제

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, …, N번째 줄에는 별 2*n-1개를 찍는 문제

별은 가운데를 기준으로 대칭이어야 한다.


입력

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


출력

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


코드

import java.util.Scanner;

public class Star5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for(int i = 1; i <= n; i++) {
            for(int j = i; j <= n-1; j++) // 공백 찍기
                System.out.print(" ");
            for(int k = 0; k < 2*i-1; k++) // 별 찍기
                System.out.print("*");
            System.out.println();
        }
    }
}

풀이

  • 첫 번째 for 문이 0으로 시작하면 별 찍는 for문에서 2*i-1이 음수가 나오기 때문에 i가 1부터 시작합니다.
  • 가운데를 기준으로 대칭이어야 하려면 별의 개수가 홀수(1,3,5,7,9,…)로 찍힌다. 홀수가 나오려면 공식이 2*i-1이다.

Leave a comment