반응형

이 문제의 예시는 숫자 5를 입력했을 때 처음에 별이 9개가 출력되고 홀수 간격으로 7, 5, 3, 1 개수의 별이 출력이 되며 다시 홀수 간격으로 증가한다. 

이 부분을 보고 임의의 숫자를 입력했을 때 처음 별은 몇 개를 출력해야하는지 규칙을 찾아보는 방법은 아래와 같이 하였다.

 

 

표를 보고 알게된 규칙은 처음 출력되는 별의 개수가 입력한 숫자 * 입력한 숫자 - 1 이라는 것이다. 다음은 구현한 코드이다.

 

/*
* Author : Jeonghun Cho
* Date : March 23, 2020
*/
 
#include <stdio.h>
 
int main() {
    int inputNumber;
    scanf("%d"&inputNumber);
    int star = inputNumber * 2 - 1;
 
    for(int i=0; i<inputNumber; i++){
        for(int j=0; j<i; j++){
            printf(" ");
        }
        for(int k=0; k<star; k++){
            printf("*");
        }
        star -= 2;
        printf("\n");
    }
    
    star = 3;
    
    for(int i=inputNumber-2; i>=0; i--){
        for(int j=0; j<i; j++){
            printf(" ");
        }
        for(int k=0; k<star; k++){
            printf("*");
        }
        star += 2;
        printf("\n");
    }
    
 
    return 0;
}
\

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 8958 OX퀴즈 (C언어)  (0) 2020.03.27
[백준] 7568 덩치 (C언어)  (0) 2020.03.24
[백준] 2523 별찍기 - 13 (C언어)  (0) 2020.03.18
[백준] 5543 상근날드 (C언어)  (0) 2020.03.17
[백준] 2675 문자열 반복 (Java)  (0) 2019.12.06

+ Recent posts