반응형
출처: https://www.acmicpc.net/problem/2446
Approach
Input
5
Output
*********
*******
*****
***
*
***
*****
*******
*********
▶ 높이는 주어진 입력(N)에서 {2 × N - 1} 만큼 가진다.
▶ 각 줄을 {start...left} + {left...right} + {right...end} 로 구성
ex) 2번째 줄 : {0...1} + {1...N-1} + {N-1...N}
▶ 높이 = N 이전까지는 left++, right--
높이 = N 이후로는 left--, right++
▶ 유사한 문제: [BOJ] 2445 별 찍기 - 8
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int start = 1;
int end = n + (n-1);
int left = start;
int right = end;
int i,j;
for(i=1;i<=n;i++){
for(j=start;j<=right;j++){
if(j>=left && j<=right){
cout << "*";
}
else{
cout << " ";
}
}
left++;
right--;
cout << "\n";
}
left = left - 2;
right = right + 2;
for(i=n-1;i>=1;i--){
for(j=start;j<=right;j++){
if(j>=left && j<=right){
cout << "*";
}
else{
cout << " ";
}
}
left--;
right++;
cout << "\n";
}
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2523 별 찍기 - 13 (0) | 2021.04.18 |
---|---|
[BOJ] 백준 2522 별 찍기 - 12 (0) | 2021.04.18 |
[BOJ] 백준 2445 별 찍기 - 8 (0) | 2021.04.18 |
[BOJ] 백준 2556 별 찍기 - 14 (0) | 2021.04.18 |
[BOJ] 백준 2439 별 찍기 - 2 (0) | 2021.04.18 |
댓글