[백준/C++] 5586 - JOI와 IOI

orangesnail·2025년 5월 16일

백준

목록 보기
111/169

https://www.acmicpc.net/problem/5586


해결하기

이 문제에서의 핵심은 substr 함수를 사용하는 것이다.
substr 함수는 다음과 같이 사용한다.

#include <string>

대상문자열.substr(시작위치, 몇글자볼건지);

이 문제에서는 "JOI", "IOI"를 찾아야 하기 때문에, 두번째 파라미터로 3을 넣어줘야 한다. 그리고 한번에 3글자를 검색하기 때문에, for문을 돌리는 범위도 맨 끝에서 3번째 글자까지만 돌리면 된다.

전체 코드

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s;
    cin >> s;

    int joi = 0, ioi = 0;
    for (int i = 0; i < s.length() - 2; i++) {
        if (s.substr(i, 3) == "IOI") ioi++;
        else if (s.substr(i, 3) == "JOI") joi++;
    }
    cout << joi << "\n" << ioi << endl;
    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글