본문 바로가기
PS 문제 풀이/Baekjoon

[BOJ] 백준 2446 별 찍기 - 9

by 까망 하르방 2021. 4. 18.
반응형

출처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

 

[BOJ] 백준 2445 별 찍기 - 8

출처: https://www.acmicpc.net/problem/2445 Approach  Input 5  Output *        * **      ** ***    *** ****  **** ********** ****  **** ***    *** **      ** *  ..

zoosso.tistory.com

 

 [문제] BOJ 별 찍기 시리즈

 

[문제] BOJ 별 찍기 시리즈

[BOJ] 2438 별 찍기 - 1 [BOJ] 2439 별 찍기 - 2 [BOJ] 2440 별 찍기 - 3 [BOJ] 2441 별 찍기 - 4 [BOJ] 2442 별 찍기 - 5 [BOJ] 2443 별 찍기 - 6 [BOJ] 2444 별 찍기 - 7 [BOJ] 2445 별 찍기 - 8 [BOJ] 2446 별..

zoosso.tistory.com


#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

댓글