본문 바로가기
백준(Baekjoon)

[백준] 2442번: 별 찍기 - 5 - 자바

by IT 정복가 2022. 3. 25.
728x90

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

 

2442번: 별 찍기 - 5

첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.

www.acmicpc.net


[문제]


[코드]

import java.util.Scanner;

public class Main {

	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 = 1; k <= i*2-1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}
		sc.close();
	}
}

[설명]

1. 몇 행을 출력할지를 알기위해 N을 입력받는다.

2. 가장 바깥 쪽 for문은 행을 나타낸다. 1행부터 N행까지 행을 출력해야하기 때문에 바깥 for문을 위에처럼 작성한다.

3. 안 쪽의 첫 번째 for문은 공백을 출력한다. 공백은 1행에 N-1개 2행에 N-2개... 이렇게 가야하기 때문에 위에처럼 작성한다.

4. 안 쪽의 두 번째 for문은 각 행에 별을 출력한다. 1행에 1개, 2행에 3개, 3행에 5개... N행에는 N*2-1개의 별이 와야하기때문에 위의 코드처럼 작성을 해준다.

5. 안 쪽의 for문들을 빠져나와 행을 바꿔주기 위해서 System.out.println();을 작성해 준다. 


[결과]

728x90