백준 Silver4 #10994 별 찍기-19

김리나·2023년 3월 18일
0

알고리즘

목록 보기
4/8

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

입력

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

출력

첫째 줄부터 차례대로 별을 출력한다.


풀이

  • 그림을 보기 쉽게 다시 그리면 다음과 같다
import java.util.*;

public class star19 {
	
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		int n = scanner.nextInt();
		int num = 4*(n-1)+1;
		int center = 2*n-1;
		
        //배열 ' '로 초기화하기
		char star[][]= new char[num][num];
		for(int i=0; i<num; i++) {
			for(int j=0; j<num; j++) {
				star[i][j]=' ';
			}
		}
		//입력 받은 숫자만큼 정사각형 그리기 반복
		for(int cnt=0; cnt<n; cnt++) {
        	//별 그리는 범위 설정
			for(int i=center-2*cnt-1; i<center+2*cnt; i++) {
				for(int j=center-2*cnt-1; j<center+2*cnt; j++) {
					if(i==center-2*cnt-1 || j==center-2*cnt-1 || i==center+2*cnt-1 || j==center+2*cnt-1)
						star[i][j]='*';
				}
			}
		}
		
        //배열 모두 출력하기
		for(int i=0; i<num; i++) {
			for(int j=0; j<num; j++) 
				System.out.print(star[i][j]);
			System.out.println();
		}

	}

}

0개의 댓글