SteffenLee

[BOJ]10821-정수의 개수 본문

Problem Solving/BOJ

[BOJ]10821-정수의 개수

SteffenLee 2018. 8. 9. 21:15

안녕하세요!


오늘은 백준 10821번 정수의 개수를 풀이하겠습니다.


먼저 문제를 보겠습니다.


첫 문자와, 마지막 문자는 반드시 숫자로 주어지고 ,는 연속되어 주어지지 않는다고 합니다.

그리고 문자열은 숫자와 콤마로만 이루어졌다고 합니다.


그럼 바로 소스를 보겠습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<string>
using namespace std;
 
string str;
int arr[100], cnt = 0, flag = 0;
int main() {
    cin >> str;
 
    for (int i = 0; i < str.size(); ++i) {
        ++flag;
        if (str.at(i) == ',') {
            while (1) {
                if (flag == 1) {
                    cnt += flag;
                    flag = 0;
                    break;
                }
                --flag;
            }
        }
    }
    ++cnt;
    cout << cnt;
}
cs


소스 설명을 하자면, 문자열을 입력 받고 콤마를 만날 때까지 반복하면서 flag를 더합니다.

그 후 콤마를 만나면 flag가 1이 될 때까지 빼주고 1이 되면 cnt에 더해줍니다.


콤마를 기준으로 숫자의 갯수를 새다보니 마지막을 처리를 못해서 마지막에 ++cnt를 해줬습니다.


감사합니다.

 

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ]11655-ROT13  (0) 2018.08.12
[BOJ]9625-BABBA  (0) 2018.08.12
[BOJ]10943-랜덤 게임~  (0) 2018.08.08
[BOJ]15886-내 선물을 받아줘2  (0) 2018.08.08
[BOJ]10718-We love kriii  (0) 2018.08.08
Comments