※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24073번 문제인 ビ太郎と IOI (Bitaro and IOI)이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24073
24073번: ビ太郎と IOI (Bitaro and IOI)
文字列 S の部分列に IOI が存在する場合は Yes を,そうでない場合は No を出力せよ.
www.acmicpc.net
B, I, T, A, R, O로 이루어진 문자열 s에서, 부분수열 I O I 를 찾을 수 있는지를 묻는 문제이다.
첫 I를 찾고 있는 상태, 두번째 O를 찾고 있는 상태, 세번째 I를 찾고 있는 상태, 모든 문자를 찾은 상태의 네 가지 상태를 생각해 문제를 풀어보자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int step = 0;
string s; cin >> s >> s;;
for (auto& l : s) {
if (step == 0) {
if (l == 'I') step++;
}
else if (step == 1) {
if (l == 'O') step++;
}
else if (step == 2) {
if (l == 'I') step++;
}
}
if (step == 3) cout << "Yes";
else cout << "No";
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 14732 // C++] 행사장 대여 (Small) (0) | 2022.06.19 |
---|---|
[BOJ 5589 // C++] おせんべい (0) | 2022.06.19 |
[BOJ 5556 // C++] 타일 (0) | 2022.06.17 |
[BOJ 11383 // C++] 뚊 (0) | 2022.06.16 |
[BOJ 5582 // C++] 공통 부분 문자열 (0) | 2022.06.15 |