5586번 : JOI와 IOI
문제 )
입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같이 "JOIOIOI"에는 JOI가 1개, IOI가 2개 있다.
![](https://blog.kakaocdn.net/dn/dvwCzt/btrX4Z2KeFG/gg9eNpOBKKkuuv8Qo7iKB0/img.png)
입력 :
첫째 줄에 알파벳 10000자 이내의 문자열이 주어진다.
출력 :
첫째 줄에 문자열에 포함되어 있는 JOI의 개수, 둘째 줄에 IOI의 개수를 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <iostream>
#include <string>
using namespace std;
int main()
{
int cnt_joi = 0, cnt_ioi = 0;
string word;
cin >> word;
if (word.length() > 2) {
for (int i = 0; i < word.length() - 2; i++) {
if (word.substr(i, 3) == "JOI") {
cnt_joi++;
}
else if (word.substr(i, 3) == "IOI") {
cnt_ioi++;
}
}
}
cout << cnt_joi << "\n" << cnt_ioi;
return 0;
}
|
cs |
출처 : https://www.acmicpc.net/problem/5586
5586번: JOI와 IOI
입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같
www.acmicpc.net
'Develop > 백준 (Cpp)' 카테고리의 다른 글
[백준] 2609번 : 최대공약수와 최소공배수 (C++) (0) | 2023.02.04 |
---|---|
[백준] 2609번 : 최대공약수와 최소공배수 (C++) (0) | 2023.02.03 |
[백준] 1453번 : 피시방 알바 (C++) (0) | 2023.02.03 |
[백준] 2774번 : 아름다운 수 (C++) (0) | 2023.02.03 |
[백준] 11575번 : Affine Cipher (C++) (0) | 2023.02.03 |