[백준] 10994번 별 찍기 -19

U_U·2024년 2월 21일
0

문제 - 별찍기 19

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

접근 방법

홀수/ 짝수 줄마다 서로 상반되는 규칙을 찾아내는 방식

홀수줄 일때

짝수줄 일때

정답코드

import java.io.*;
import java.util.*;

public class Main {
	static int N;
	static String [][] board;
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		N = Integer.parseInt(br.readLine());
		int size = 1+4*(N-1);
		int mid = size/2;
		board = new String [size][size];
		for(int i=0;i<size;i++) {
			for(int j=0;j<size;j++) {
				if(i%2==1 && j%2==0 && j<i && i<mid) {
					board[i][j] = "*";
					board[i][size-j-1] = "*";
					board[size-i-1][j] = "*";
					board[size-i-1][size-j-1] = "*";
				}
				else if(i%2==0) {
;
					if(j%2==1&&j<i && i<=mid) {
						board[i][j] = " ";
						board[i][size-j-1] = " ";
						board[size-i-1][j] = " ";
						board[size-i-1][size-j-1] = " ";

					}
					if(board[i][j]==null)
						board[i][j]= "*";
						
				}
				else {
					if(board[i][j] == null)
						board[i][j]=" ";
				}
			}
		}
		for(int i=0;i<size;i++) {
			for(int j=0;j<size;j++) {
				System.out.print(board[i][j]);
			}
			System.out.println();
		}
	}
}

이 문제를 풀면서 배운 점은

규칙을 찾을 때는, 단순하게 하나하나 따져보고 규칙을 찾자 !

profile
github : https://github.com/oU-Ua

0개의 댓글

관련 채용 정보