본문 바로가기
알고리즘/백준

[백준 10996번 ː 자바(JAVA)] 별 찍기 - 21

by 그릿er 2020. 5. 1.

 

<문제>

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.*;
 
 
public class Main {
 
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        for(int i=0; i<2*n; i++) {
            for(int j=0; j<n; j++) {
                if(i%2==1) {
                    if(j%2==1) {
                        System.out.print("*");
                    }else 
                        System.out.print(" ");
                }else
                    if(j%2==1) {
                        System.out.print(" ");
                    }else 
                        System.out.print("*");
            }
            System.out.println();
            }
  
        }
    }
        
    
 
 
 
 

 

 


 

<규칙>

 

별이 행과 열에 따라 다르게 찍혀서 행과 열을 하나씩 떼어보면 규칙을 찾을 수 있습니다.

 

세로 행의 갯수숫자 n이 입력되면 2번씩 반복이 되면서 2*n번이 반복되어서 i를 2*n번 만큼 돌렸습니다.

 

세로 행의 규칙은 홀수 행일 때는 별이 먼저 찍히고, 짝수 행일 때는 공백이 먼저 찍힙니다.

 

세로 행은 i로 구분하여 i%2==1이거나 i%2==0인 것으로 나누어서 출력합니다.

 

가로 열의 규칙은 홀수 열이면 별이 찍히고, 가로 열이면 공백이 찍힙니다.

 

가로 열은 j로 구분하여 세로와 같은 방법으로 j%2==1와 j%2==0으로 구분하여 출력했습니다.