[2439번]

 

<2439번: 문제 해결 방법>

첫째 줄부터 다섯번째 줄까지 차례대로 별을 출력한다고 가정하자.->5x5 크기의 직사각형을 생각해본다. -> 첫째 줄에선 4개의 여백 빈칸, 1개의 *를 포함한 칸 ->둘째 줄에선 3개의 여백 빈칸, 2개의 *를 포함한 칸 -> · · · · ·  -> 다섯번째 줄에선 0개의 여백 빈칸, 5개의 *를 포함한 칸

=> 첫째 줄에선 N-1개의 여백빈칸, 1개의 *를 포함한 칸 ->  · · · · ·  -> N번째 줄에선 0개의 여백 빈칸, N개의 *를 포함한 칸

 

 

<2439번: 코드>

#include <iostream>
using namespace std;
int main() {
    int x;
    cin >> x;
    for (int i = 1; i <= x; i++) {
        for (int j = x; j >i; j--) {
            cout << " ";
        }
        for (int j = 1; j <= i; j++) {
            cout << "*";
        }
        cout << "\n";
    }
    return 0;
}

 

 

 

 

 

 

 

[2440번]

 

<2440번: 문제 해결 방법>

여기선 여백을 따로 만들지 않아도 된다.

첫째줄에 N개의 *를 포함한 칸 ...... -> N개줄에 1개의 *를 포함한 칸 ... 이렇게 차례대로 줄어들기 때문에 for문을 이용하여 *의 출력을 조절하기만 하면 되는 문제.

 

<2440번: 코드>

#include <iostream>
using namespace std;
int main() {
    int x;
    cin >> x;
    for (int i = 1; i <= x; i++) {
        for (int j = x; j >=i; j--) {
            cout << "*";
        }
        cout << "\n";
    }
    return 0;
}

 

 

 

 

 

[2441번]

 

 

<2441번: 문제 해결 방법>

문제 [2439]번과 비슷한 흐름으로 돌아가는 문제.

첫째 줄부터 다섯번째 줄까지 차례대로 별을 출력한다고 가정하자.->5x5 크기의 직사각형을 생각해본다. -> 첫째 줄에선 0개의 여백 빈칸, 5개의 *를 포함한 칸 ->둘째 줄에선  1개의 여백 빈칸 ,4개의 *를 포함한 칸-> · · · · ·  -> 다섯번째 줄에선 N-1개의 여백 빈칸, 1개의 *를 포함한 칸

=> 첫째 줄에선 N개의 *를 포함한 칸, 0개의 여백 빈칸 ->  · · · · ·  -> N번째 줄에선 N-1개의 여백 빈칸, 1개의 *를 포함한 칸

 

<2440번: 코드>

#include <iostream>
using namespace std;
int main() {
    int x;
    cin >> x;
    for (int i = 0; i <x; i++) {
        for (int k =0; k<i; k++) {
            cout <<" ";
        }
        for (int j = x; j > i; j--) {
            cout << "*";
        }
        cout << "\n";
    }
    return 0;
}