코딩로그
[백준/BOJ/C++] 5586번 JOI와 IOI 본문
[문제]
입력으로 주어지는 문자열에서 연속으로 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;
}
[결과 화면]
'YJ > C++' 카테고리의 다른 글
[백준/BOJ/C++] 9655번 돌 게임 (0) | 2021.10.27 |
---|---|
[백준/BOJ/C++] 1100번 하얀 칸 (0) | 2021.10.27 |
[백준/BOJ/C++] 4766번 일반 화학 실험 (0) | 2021.10.27 |
[백준/BOJ/C++] 10988번 팰린드롬인지 확인하기 (0) | 2021.10.27 |
[백준/BOJ/C++] 5073번 삼각형과 세 변 (0) | 2021.10.27 |