본문 바로가기
Algorithm

2차원 배열을 이용해 모래시계 모양 출력하기 - 자바(JAVA)

by LasBe 2021. 12. 23.
반응형

문제

2차원 배열을 이용하여  모래시계 출력하기

 

 

입력

홀수개의 배열 크기를 입력하세요.

7

 

 

출력

* * * * * * *

   * * * * * 

      * * *  

        *   

      * * *  

   * * * * * 

* * * * * * *

 


결과


코드

public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("홀수개의 배열 크기를 입력하세요.");
		int num = sc.nextInt();
		char arr[][]=new char[num][num];
		int left = 0; int right = num-1;

		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr[i].length;j++) {
				if(left<=j && right>=j) 
					arr[i][j] = '*';
				else 
					arr[i][j] = ' ';	
			}
			if(i<num/2) {
				left++; right--;
			}
			else {
				left--; right++;
			}
		}
		for(int i=0;i<arr.length;i++) {
			for(int j=0;j<arr[i].length;j++) {
				System.out.print(arr[i][j]);
			}
			System.out.println("");
		}
	}

 


문제풀이

정수 left, right를 이용해 모래시계 모양의 중간으로 갈 수록 한 칸씩 좁히고

(입력 받은 수 / 2) 이상을 넘어갈 경우 left, right 값을 하나씩 증가시켜 모양을 넓혀준다.

핵심은 입력 값에 나누기 2를 해준 값을 중심으로 left, right 값을 증감시킴으로써 모양을 그려나간다는 것이다.

반응형

댓글


오픈 채팅