문제
풀이
세가지를 유의해서 풀자.
1. 윗부분은 뒤집힌 모양, 아랫부분은 제대로 된 모양.
2. 공백이 존재하다.
3. 1은 하나만 존재하면 되니까 윗부분에서 1 ~ N 까지 출력하고 아랫부분에선 2 ~ N 까지 출력하자.
#include <stdio.h> #include <iostream> #include <algorithm> #include <math.h> #include <vector> #include <queue> #include <set> #include <stack> #include <map> #include <string> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; for(int i = n; i >= 1; i--){ for(int j = 0; j < n - i; j++){ cout << " "; } for(int j = 0; j < 2 * i - 1; j++){ cout << "*"; } cout << '\n'; } for(int i = 2; i <= n; i++){ for(int j = 0; j < n - i; j++){ cout << " "; } for(int j = 0; j < 2 * i - 1; j++){ cout << "*"; } cout << '\n'; } return 0; }
댓글
댓글 쓰기