반응형
이 문제의 예시는 숫자 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 |