백준
백준 5586 - JOI와 IOI(C++)
공대생의 잡다한 사전
2023. 5. 16. 23:05
문제 링크입니다. https://www.acmicpc.net/problem/5586
5586번: JOI와 IOI
입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같
www.acmicpc.net

JOI, IOI의 갯수를 구하는 문제입니다.
주어진 문자열에서 J 혹은 I가 나오는지
-> 나온다면 +1, +2의 문자가 O와 I가 맞는지를 확인하면 됩니다.
자세한 것은 코드를 참고해주세요
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
string x;
int JOI, IOI;
int main(){
cin.tie(0);
cout.tie(0);
cin >> x;
for(int i = 0; i < x.size(); i++){
if(x[i] == 'I' && i + 2 < x.size()){
if(x[i+1] == 'O' && x[i+2] == 'I'){
IOI++;
}
}
if(x[i] == 'J' && i + 2 < x.size()){
if(x[i+1] == 'O' && x[i+2] == 'I'){
JOI++;
}
}
}
cout << JOI << "\n" << IOI;
return 0;
}

질문 및 조언은 댓글을 남겨주세요