⌨️CS-PS/백준_수학&구현
[Baekjoon/백준][2522][C/C++] 별 찍기 - 12
미르의 블로그
2023. 1. 19. 00:19
728x90
반응형
『목차』
0. 개요
1. 문제
2. 풀이
3. 코드
0. 개요
다시 돌아온 별찍기 시간. 어렵지 않은 문제라 바로 풀이로 넘어가겠다.
만약 문제에 대한 설명이 부족하다 느껴진다면, 앞서 올려둔 별찍기 포스팅들을 참조하자.
1. 문제
https://www.acmicpc.net/problem/2522
2522번: 별 찍기 - 12
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
[문제]
예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.
[입력]
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
[출력]
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
[예제 입력 1]
3
[예제 출력 1]
*
**
***
**
*
2. 풀이
'위쪽ㆍ가운데' 패턴과 '아래쪽' 패턴을 나눠서 생각하자.
공백은 'N-1, N-2, N-3, N-2, N-1' 순서대로 찍히고, *은 'N-2, N-1, N, N-1, N-2' 순서로 찍힌다.
3. 코드
#pragma warning (disable:4996)
#include <stdio.h>
int main(int argc, char* argv[]) {
int N; scanf("%d", &N);
/* 위쪽 */
for (int i = 1; i <= N; i++) {
/* 공백 찍기 */
for (int j = 1; j <= N - i; j++)
printf(" ");
/* 별 찍기 */
for (int j = 1; j <= i; j++)
printf("*");
/* 개행 */
printf("\n");
}
/* 아래쪽 */
for (int i = N-1; i >= 1; i--) {
/* 공백 찍기 */
for (int j = 1; j <= N - i; j++)
printf(" ");
/* 별 찍기 */
for (int j = 1; j <= i; j++)
printf("*");
/* 개행 */
printf("\n");
}
return 0;
}
728x90
반응형