알고리즘 모음(C++)

백준 5586 - JOI와 IOI(C++) 본문

백준

백준 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;
}

 

 

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

'백준' 카테고리의 다른 글

백준 2857 - FBI(C++)  (0) 2023.05.18
백준 2711 - 오타맨 고창영(C++)  (0) 2023.05.16
백준 18406 - 럭키 스트레이트(C++)  (0) 2023.05.16
백준 5524 - 입실 관리(C++)  (0) 2023.05.16
백준 2495 - 연속구간(C++)  (0) 2023.05.16