Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 5586번 JOI와 IOI 본문

YJ/C++

[백준/BOJ/C++] 5586번 JOI와 IOI

Team DAON 2021. 10. 27. 15:41

[문제]

입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같이 "JOIOIOI"에는 JOI가 1개, IOI가 2개 있다.

 

[입력]

첫째 줄에 알파벳 10000자 이내의 문자열이 주어진다. 

 

[출력]

첫째 줄에 문자열에 포함되어 있는 JOI의 개수, 둘째 줄에 IOI의 개수를 출력한다.

 

[Source Code]

#include <stdio.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	string input;
	int joi = 0, ioi = 0;
	cin >> input;

	for(int i = 0; i <= input.length() - 3; i++){
		if(input[i+1] == 'O' && input[i+2] == 'I'){
			if(input[i] == 'J')
				joi++;
			else if(input[i] == 'I')
				ioi++;
		}	
	}

	cout << joi << "\n" << ioi;
}

[결과 화면]