티스토리 뷰
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 |
댓글