상세 컨텐츠

본문 제목

< 백준 BaekJoon : 2444번 별 찍기 - 7> C++

C++/Baekjoon

by J2on 2023. 7. 31. 21:09

본문

문제

https://www.acmicpc.net/problem/2444

 

2444번: 별 찍기 - 7

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

 

풀이

처음엔 공백의 수 = num/2  (*입력받은 수를 num으로 표시)

별의 수 = 1로 시작

 

그래서 num/2까지는 매 iteration마다 공백의 수를 1씩 추가, 별의 수를 2씩 늘인다.

-> 그리고 그 이후 부터는 반대로 진행

 

#include <iostream>
using namespace std;

int main(){
  int num;
  cin >> num;
  
  num = num*2 - 1;

  int spaceNum = num/2;
  int starNum = 1; 
  for(int i=0; i<num; i++){
    for(int j=0; j<spaceNum; j++){
        cout << ' ';
      }
      for(int k=0; k<starNum; k++){
        cout << '*';
      }
    if(i < num/2){
      cout << endl;
      spaceNum--;
      starNum += 2;
    }
    else{
      cout << endl;
      spaceNum++;
      starNum -= 2;
    }
  }
    
}

 

 

https://github.com/J2on/BaekjoonOnlineJudge/blob/master/Code/Bronze/2444.cpp

 

관련글 더보기

댓글 영역