본문 바로가기

백준 코딩테스트/if문 + for문

[백준] [자바] 2439번 : 별 찍기 - 2 (3단계 : for문)

728x90
728x90

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

 

2439번: 별 찍기 - 2

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

www.acmicpc.net



=문제푸는 팁=

우선 이 문제를 봤을 때 어떻게 풀어가야하나 참 막막했는데, 우선 안에있는 내용을 뜯어봤다.

N = 스페이스바 + * 로 구성되어 있다.

이제 한 줄을 뜯어보면 스페이스바 + *의 구조인데, 스페이스바가 먼저 위치해있는 걸 생각해보자.

그러면 스페이스바 = N-*이다. 여기서 *의 개수는 행의 개수와 같다. 행의 개수는  i이다! 왜냐면 제일 바깥에 println();이 위치하니까!

 

지금까지 나온 구조를 확인해보면, " "=N-i가 된다. 당연히 *은 i보다 작다는 것이 될 것이고

식으로 작성해봅시다.

 

=해설=

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
	
		for(int i=1;i<=N;i++) {
			for(int j=1;j<=N-i;j++) {
				System.out.print(" ");
			}
			for(int k=1;k<=N;k++) {
				System.out.print("*");
			}
		System.out.println();
		}
	scan.close();
	}
}

728x90