728x90
문제 출처:https://www.acmicpc.net/problem/2442
2442번: 별 찍기 - 5
첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다.
www.acmicpc.net
1. 코드
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = n; j > i; j--) {
printf(" ");
}
for (int j = 1; j <= 2*i-1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
2. 해결 과정
트리 모양으로 *을 찍는 문제이다.
for문을 중첩으로 사용하여, 수를 입력받고, 처음 for문은 행의 개수를 출력하는 것이다.
for문 안의 첫번째 for문은 빈칸을 생성하는 것이다. 두번째 for문은 별을 출력하는 것이다.
예를 들어, n=3이면 첫번째 for문에서 2번째 까지 공백을 출력하고, 두 번째 for문으로 내려가서 별하나를 찍고, 다시 큰 for문이 한번 반복된다.
3. 느낀 점
공백을 생성하고, 별을 찍고, 대칭을 만드는 것이 생각보다 까다로웠고, for문의 조건을 설정하는 게 생각보다 어려웠다.
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(C/C++) 백준 7600번 - 문자가 몇갤까 (0) | 2021.07.05 |
---|---|
(C/C++) 백준 2711번 - 오타맨 고창영 (0) | 2021.07.05 |
(C/C++) 백준 10992번- 별 찍기 (0) | 2021.07.04 |
(C/C++) 백준 1244번- 스위치 켜고 끄기 (0) | 2021.07.04 |
(C/C++) 백준 1748번- 수 이어쓰기 (0) | 2021.07.03 |