[백준/Java] 2439번 별 찍기 - 2 (반복문)

[백준/Java] 2439번 별 찍기 - 2 (반복문)
muaga's avatar
Jun 13, 2024
[백준/Java] 2439번 별 찍기 - 2 (반복문)
 

문제


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

입력


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

출력


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


import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); for (int n = 1; n <= t; n++) { for (int b = t; b > n; b--) { System.out.print(" "); } for (int s = 1; s <= n; s++) { System.out.print("*"); } System.out.println(""); } sc.close(); } }
 

풀이


공백과 별을 함께 나타내기 위해 이중 포문을 사용해야 한다. 공백은 1줄 당, 지정한 t의 수에서 별의 개수를 뺀 만큼 존재해야 하고, 별은 1부터 t의 수까지 존재해야 한다.
for (int b = t; b > n; b--) { System.out.print(" "); } // (5, 4, 3, 2) -> (5, 4, 3) -> (5, 4) -> (5) -> () for (int s = 1; s <= n; s++) { System.out.print("*");
공백이 아닌 b를 출력해보면 아래와 같이 작동하는 것을 확인할 수 있다.
for (int b = t; b > n; b--) { System.out.print(b); }
notion image
 
Share article

muaga's Hub