Baekjoon Online Judge
5586번: JOI와 IOI
입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같
www.acmicpc.net
[문제]
입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같이 "JOIOIOI"에는 JOI가 1개, IOI가 2개 있다.
[입력]
첫째 줄에 알파벳 10000자 이내의 문자열이 주어진다.
[출력]
첫째 줄에 문자열에 포함되어 있는 JOI의 개수, 둘째 줄에 IOI의 개수를 출력한다.
[코드]
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
int cntJ = 0, cntI = 0;
cin >> s;
for (int i = 0; i < s.length() - 1; i++)
{
if (s[i] == 'O')
{
if (s[i + 1] == 'I')
{
if (s[i - 1] == 'J')
cntJ++;
if (s[i - 1] == 'I')
cntI++;
}
}
}
cout << cntJ << '\n' << cntI << '\n';
return 0;
}
'Baekjoon > C++' 카테고리의 다른 글
[C++][BOJ/백준] 23804 골뱅이 찍기 - ㄷ (0) | 2024.02.14 |
---|---|
[C++][BOJ/백준] 5613 계산기 프로그램 (0) | 2024.02.13 |
[C++][BOJ/백준] 15814 야바위 대장 (0) | 2024.02.11 |
[C++][BOJ/백준] 10984 내 학점을 구해줘 (1) | 2024.02.10 |
[C++][BOJ/백준] 17496 스타후르츠 (0) | 2024.02.09 |