본문 바로가기

Projects/백준 문제

백준 2439번 자바 문제

반응형
package bj2439;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		sc.close();
		
		// 가장 큰 틀의 반복문을 구상한다.
		// 여기서 i는 출력횟수 즉, 행의 숫자를 나타낸다.
		// i번 출력할 것이라는 것이다.
		for (int i = 1; i <= N; i++) {
			// 행이 늘어날 때마다 별의 갯수가 늘어나는 것이므로
			// i = *의 갯수는 동일하다.
			// 문제와 같은 형식으로 *을 출력한다는 것은
			// 다시 생각해보면, 공백에서 *만큼 빠진다는 의미이므로
			// 주어진 N개의 공백 spc에서 별의 갯수(i)만큼 앞에서 뺴주면 된다.
			// 그러므로 코드를 spc를 N개와 동일한 갯수에서 매번 생겨나는 i개 만큼을 뺀 공백을 먼저 출력하도록 한다.
			for (int spc = 1; spc <= N - i;spc++) {
				System.out.print(" ");
				
			}
			// 공백에 대한 출력을 다 했으므로
			// 이제 *을 출력하는 단계다.
			// 별은 출력하는 숫자만큼 하나씩 늘어나므로
			// 아래와 같이 짜면 된다.
			for (int k = 0;k< i;k++) {
			System.out.print("*");
		}
			// 맨 처음 짠 for문의 마무리 부분에 해줘야
			// i개만큼의 행이 출력되도록 할 수 있다.
			System.out.println();

	}

}
}
반응형