알고리즘 공부/C++

백준 5586번 JOI와 IOI C++

마달랭 2024. 7. 21. 01:44
반응형

리뷰

문자열 find를 통해 문제를 풀었다.

 

문제 풀이

  1. 문자열을 받아오고 joi와 ioi의 개수를 카운트할 정수 변수를 0으로 초기화 해준다.
  2. 먼저 문자열에서 JOI가 위치한 인덱스를 pos변수에 저장하고 만약 pos가 문자열의 끝이 아니라면 while루프를 시작하여 joi개수를 증가시키고 다음 joi위치를 pos 변수에 최신화 해준다.
  3. IOI 역시 JOI와 마찬가지로 최신화 해준 뒤 while루프를 돈다.
  4. JOI의 개수와 IOI개수를 출력해 준다.

 

참고 사항

없음

 

 

정답 코드

#include <iostream>
#include <string>

using namespace std;

int main() {
	string s;
	cin >> s;
	int joi = 0, ioi = 0;
	int pos = s.find("JOI");
	while (pos != s.npos) {
		joi++;
		pos = s.find("JOI", pos + 1);
	}
	pos = s.find("IOI");
	while (pos != s.npos) {
		ioi++;
		pos = s.find("IOI", pos + 1);
	}
	cout << joi << "\n" << ioi;
}

 

 

728x90
반응형