[백준] 2439번 별 찍기 - 2 C / C++ 문제 풀이 for문

2019. 7. 12. 09:16알고리즘/백준

728x90
반응형

문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

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


예제 입력 1

5


예제 출력 1

    *

   **

  ***

 ****

*****


문제 풀이

#include<stdio.h>
int main(){
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n-(i+1); j++)
            printf(" ");
        for(int k = 0; k < i+1; k++)
            printf("*");
        printf("\n");
    }
}

이번엔 전 문제와 조금 다릅니다. 첫 번째 줄부터 별이 한 개씩 추가되지만

줄마다 존재하는 문자 개수는 입력값 n에 맞춰져 있습니다.

무슨 말이냐면 첫 번째 줄은 별이 한 개지만 입력값 5에 맞춰서 공백이 4개가 들어가 있습니다.

마지막 줄은 공백 없이 별로만 가득 채워져 있고요.

 

이것에 유의해서 for문의 초기식, 조건식, 증감식을 작성하셔야 합니다.

 

첫 번째 for문은 n번 반복해서 줄 수를 출력하게 하였고

 

두 번째 for문은 n번째 줄마다  n-(i+1)번 반복하게 하였습니다. 결과적으로 4번, 3번, 2번, 1번, 0번 반복합니다.

 

세 번째 for문은 n번째 줄마다 i+1번 반복하는데, 두 번째와는 다르게 1번, 2번, 3번, 4번, 5번 반복하는 for문이 됩니다.

 

출처 : https://www.acmicpc.net/problem/2439

 

2439번: 별 찍기 - 2

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

www.acmicpc.net

 

728x90
반응형