[acmicpc] 백준 2446번: 별 찍기 - 9 (피라미드 출력하기)
2020. 4. 9. 16:29ㆍ알고리즘/acmicpc 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include <stdio.h>
#define MAX(a,b) ((a > b) ? a : b)
void fnPrintPyramid(int start, int end)
{
int nOperator = 1, nGreaterSize = MAX(start, end);
if(start - end > 0) nOperator = -1;
for(int i = start; (i - end) * nOperator <= 0; i += nOperator)
{
for(int j = 0; j < nGreaterSize - i; j++)
{
printf(" ");
}
for(int j = 0; j < 2 * i - 1; j++)
{
printf("*");
}
printf("\n");
}
}
int main(void)
{
int nInput;
scanf("%d", &nInput);
if(nInput != 1)
{
fnPrintPyramid(nInput, 1);
fnPrintPyramid(2, nInput);
}
else
{
printf("*");
}
return 0;
}
|
cs |
피라미드 응용 문제가 상당히 있었던 것 같아서, 시작점과 끝점만 알려주면 그대로 그려주는 피라미드 함수를 만들어 보았다. 조건을 바꿔주면 원하는 대로 작동하게 변경할 수 있을 것이다.
사용 예시)

'알고리즘 > acmicpc 코드' 카테고리의 다른 글
[acmicpc] 10814 나이순 정렬 정답 코드 (0) | 2020.04.13 |
---|---|
[acmicpc] 11650 좌표 정렬하기 정답 코드 (0) | 2020.04.12 |
[acmicpc] 백준 1018 체스판 다시 칠하기 정답 코드 (0) | 2020.04.12 |
[acmicpc] 백준 7568 덩치 C언어 정답 코드 (0) | 2020.04.12 |
[어셈블리어] 백준 2557번 Hello World 런타임 오류 해결법 (0) | 2020.01.29 |