※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts