피라미드 쌓기

박은빈·2022년 9월 21일

코딩

목록 보기
1/19

숫자를 입력받아 숫자만큼의 층의 피라미드를 쌓으시오

문제해결: 피라미드는 가운데로 정렬이 되어있고 이 정렬을 위해 앞에 공백을 넣어야한다. 이 공백은 -1씩 줄어든다.또한 피라미드의 별은 홀수만큼 늘어난다.
즉 한층씩 for문을 돌릴때 공백은 -1씩 줄여가며 출력하고 별은 홀수만큼 늘려가며 출력한다

Scanner sc = new Scanner(System.in);
System.out.print("숫자 입력 : ");
int num = sc.nextInt();

스캐너를 이용해 숫자를 입력받았다

그리고 이중for문을 이용해 구현하였다

for(int i=0; i<num; i++){
	    for(int j=num-1; j>i; j--){
	        System.out.print(" ");
	    }
		    
	    for(int j=0; j<2*i+1; j++){
	    	System.out.print("*");
	    }
	    System.out.println();
	}
    

먼저 바깥 for문은 층수를 나타내기때문에 입력받은 num을 넣어주었다

그리고 안쪽 첫번째 for문은 공백을 나타내주기 때문에 입력받은 num에서 -1을 빼고 하나씩 i까지 줄여주었다 이렇게되면 i는 층수만큼 늘어나기때문에 하나씩 줄일 수 있다

그리고 안쪽 두번째 for문은 홀수만큼 별을 찍어야하므로 (2*i+1)을 이용해 홀수를 나타내주었다 이렇게 하면 i가 0부터 시작하기때문에 1, 3, 5, 7...올라갈 수 있다

profile
안녕하세요

0개의 댓글