Algorithm/백준(BOJ)

[백준 2438] 별찍기 - 1

반응형

[백준 2438] 별찍기 - 1


문제 출처 - https://www.acmicpc.net/problem/2438



문제


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




입력


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




출력


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




예제 입력


1
5
cs


예제 출력

1
2
3
4
5
*
**
***
****
*****
cs



  • 문제 이해하기
입력한 수 만큼 별(*)을 하나씩 증가해서 출력해주는 문제다. 예제는 5라고 입력을 해주었기 때문에, 1~5개의 별이 문장마다 증가하면서 출력되는 모습을 볼 수 있다. 

  • 계획 및 문제 해결
우선 처음에 출력을 원하는 N개의 줄 수를 입력 받을 변수를 선언하고, *을 값으로 가지는 string 변수와 값을 저장시킬 string 변수 총 3개를 선언해보자.

1
2
3
int N;
string star = "*";
string sumStar = "";
cs

N은 1부터 100까지만 입력이 가능하므로, if문을 주고 1~100이 입력되었을때만 출력하도록 만든다.
이제 입력받은 N만큼 for문을 돌려서 sumStar에 한번 for문이 진행될 때마다 star를 더해주고 출력하도록 만든다.

1
2
3
4
5
6
7
8
cin >>  N;
 
    if (N >= 1 && N <= 100) {
        for (int i = 1; i <= N; i++) {
            sumStar += star;
            cout << sumStar << endl;
        }
    }
cs

  • 전체 소스 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
using namespace std;
 
int main(void) {
 
    int N;
    string star = "*";
    string sumStar = "";
 
    cin >>  N;
 
    if (N >= 1 && N <= 100) {
        for (int i = 1; i <= N; i++) {
            sumStar += star;
            cout << sumStar << endl;
        }
    }
 
    return 0;
}
cs


반응형

'Algorithm > 백준(BOJ)' 카테고리의 다른 글

[백준 11441] 합 구하기  (0) 2018.04.05
[백준 2292] 벌집  (0) 2018.04.02
[백준 2750] 수 정렬하기  (0) 2018.03.29
[백준 1912] 연속합  (0) 2018.03.28
[백준 1149] RGB 거리 문제  (0) 2018.03.26