티스토리 뷰

728x90

문제 링크

https://www.acmicpc.net/problem/2941

 

 

문자열을 순회하며 매번 두자리씩 읽어와서 두글자짜리 알파벳이랑 비교해봅니다.

세글자짜리는 그 뒤에 따로 확인합니다.

 

 

정답 코드

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
26
27
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
string abc[] = { "c=""c-""d-""lj""nj""s=""z=" };
string s;
int main() {
    cin >> s;
    int ans = 0;
    for (int i = 0; s[i]; i++) {
        string t = s.substr(i, 2);
        bool c = false;
        for (int i = 0; i < 7; i++) {
            if (abc[i] == t) {
                c = true;
                break;
            }
        }
        
        if (c)    i++;
        else if (i+2 < s.size() && s.substr(i, 3== "dz=") i += 2;
        ans++;
    }
    cout << ans;
}
 
cs
728x90

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[BOJ] 백준 1018 체스판 다시 칠하기  (0) 2019.05.18
[BOJ] 백준 1065 한수  (0) 2019.05.18
[BOJ] 백준 2902 KMP는 왜 KMP일까?  (0) 2019.05.18
[BOJ] 백준 11365 !밀비 급일  (0) 2019.05.18
[BOJ] 백준 15360 Rasvjeta  (0) 2019.05.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
26 27 28 29 30 31
글 보관함