문제 확인하기
2. Solution 1 (C++17, memory: 2024KB, time: 0ms)
#include <iostream>
#include <string>
#include <vector>
int main() {
std::string input;
std::getline(std::cin, input);
std::vector<char> li(input.begin(), input.end());
int a = 0, b = 0;
for (int i = 0; i < li.size() - 2; i++) {
if (std::string(li.begin() + i, li.begin() + i + 3) == "JOI") {
a++;
}
if (std::string(li.begin() + i, li.begin() + i + 3) == "IOI") {
b++;
}
}
std::cout << a << " " << b;
return 0;
}
3. Solution 2 (Python, memory: 31256KB, time: 44ms)
li = list(input()) # 입력을 문자 리스트로 변환
# 리스트 컴프리헨션을 사용하여 'JOI'와 'IOI'의 개수 계산 및 True 값의 합을 구함
a, b = sum(''.join(li[i:i+3]) == 'JOI' for i in range(len(li)-2)), sum(''.join(li[i:i+3]) == 'IOI' for i in range(len(li)-2))
print(a, b) # 'JOI'와 'IOI'의 개수 출력