본문 바로가기
Algorithm/Beakjoon

[Java] baekjoon 2439 : 별 찍기 - 2 / for문

by Amy97 2021. 7. 24.
728x90

문제 


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

 

2439번: 별 찍기 - 2

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

www.acmicpc.net

해결 


(n = 5) j = 1 j = 2 j = 3 j = 4 j = 5
i = 1         *
i = 2       * *
i = 3     * * *
i = 4   * * * *
i = 5 * * * * *

 

별이 출력된 곳의 좌표를 나열해보면 i + j가 n보다 클 때만 별이 출력된 것을 알 수 있다. 

 

                                (5, 1)

                        (4, 2), (5, 2)

                (3, 3), (4, 3), (5, 3)

        (2, 4), (3, 4), (4, 4), (5, 4)

(1, 5), (2, 5), (3, 5), (4, 5), (5, 5)

 

구현 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;
 
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
 
        int n = sc.nextInt();
        for (int i = 1; i <= n; i++) { // 행을 구성하는 첫 번째 for문
            for (int j = 1; j <= n; j++) { // 열을 구성하는 두 번째 for문
                if (i + j > n) {
                    System.out.print("*"); // i + j가 n보다 클 때 별을 출력
                } else {
                    System.out.print(" "); // 위의 조건에 부합하지 않을 시 공백 출력
                }
            }
            System.out.println(); // 첫 번째 for문 실행될 때마다 한 줄 띄워짐 (n번 실행되면 n번째 행까지 생성됨)
        }
 
    }
}
cs

 

결과 


728x90

댓글