본문 바로가기
코딩테스트/programming_C++

baekjoon #2439_별 찍기 - 2_c++

by prometedor 2021. 10. 24.
#include<stdio.h>

int main() {
  int N;
  scanf("%d", &N);

  for (int i = 0; i < N; i++)
  {
    for (int j = i; j < N - 1; j++)
    {
        printf(" ");
      }
      for (int k = i; k >= 0; k--)
      {
        printf("*");
      }
    printf("\n");
    }
}

 

  • 변형되는 i를 이용

  - 한 줄을 띄울 때 마다 " " 개수는 줄어들고, "*" 개수는 늘어나는 것을 생각

 

  • N이 5일 경우, 첫번째 나오는 반복문은 i가 0부터 5가 되기 전 까지 5번 반복( 0,1,2,3,4 )

  - i가 0일 때, " "는 0부터 4(5-1)가 되기 전 까지 4번 반복( 0,1,2,3 ) / "*"은 0부터 1씩 줄어들면서 0까지 1번 반복 ( 0 )

  - i가 1일 때, " "는 1부터 4(5-1)가 되기 전 까지 3번 반복( 1,2,3 ) / "*"은 1부터 1씩 줄어들면서 0까지 2번 반복 ( 1,0 )

  - i가 2일 때, " "는 2부터 4(5-1)가 되기 전 까지 2번 반복( 2,3 ) / "*"은 2부터 1씩 줄어들면서 0까지 3번 반복 ( 2,1,0 )

  - i가 3일 때, " "는 3부터 4(5-1)가 되기 전 까지 1번 반복( 3 ) / "*"은 3부터 1씩 줄어들면서 0까지 4번 반복 ( 3,2,1,0 )

  - i가 4일 때, " "는 4부터 4(5-1)가 되기 전 까지 0번 반복 / "*"은 4부터 1씩 줄어들면서 0까지 5번 반복 ( 4,3,2,1,0 )

'코딩테스트 > programming_C++' 카테고리의 다른 글

baekjoon #10818_최소, 최대_c++  (0) 2021.10.24
baekjoon #10951_A+B - 4_c++  (0) 2021.10.24
baekjoon #15552_빠른 A+B_c++  (0) 2021.10.24
baekjoon #2588_곱셈_c++  (0) 2021.10.24
baekjoon #1008_A/B_c++  (0) 2021.10.24