반응형
알고리즘 분류 : 문자열 처리
문자열에서 HONI의 개수를 출력하는 문제다. 인덱스 0부터 시작해서 문자열의 길이까지 순서대로 이동하면서 다 찾아보면 된다.
C++ 소스코드
#include <iostream> #include <string> using namespace std; string s; char honi[] = "HONI"; void solve() { int k = 0, ans = 0; for (int i=0; i<(int)s.size(); i++) { if (s[i] == honi[k]) k++; if (k == 4) { k = 0; ans++; } } cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> s; solve(); return 0; }
Python 3 소스코드
from sys import stdin s = stdin.readline().strip() k, ans = 0, 0 honi = "HONI" for i in range(len(s)): if s[i] == honi[k]: k += 1 if k == 4: ans += 1 k = 0 print(ans)
참고
- 백준 온라인 저지 : BOJ 16755
반응형