새소식

⌨️ Algorithms/백준

[Python] 백준 5586번_JOI와 IOI

2023. 4. 3. 22:20

  • -

https://www.acmicpc.net/problem/5586

 

5586번: JOI와 IOI

입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하는 프로그램을 작성하시오. 문자열은 알파벳 대문자로만 이루어져 있다. 예를 들어, 아래와 같

www.acmicpc.net

 

  • 입력으로 주어지는 문자열에서 연속으로 3개의 문자가 JOI 또는 IOI인 곳이 각각 몇 개 있는지 구하기
  • 문자열은 알파벳 대문자로만 이루어져 있음

 

  • 예를 들어, "JOIOIOI"에는 JOI가 1개, IOI가 2개 있음

 

  • 입력
    • 첫째 줄에 알파벳 10000자 이내의 문자열이 주어짐
  • 출력
    • 첫째 줄에 문자열에 포함되어 있는 JOI의 개수, 둘째 줄에 IOI의 개수를 출력
  • 시간 제한: 1초
  • 메모리 제한: 128 MB

 

"""
입출력 예시)

(예제 입력 1) 
JOIJOI
        -> 2
           0

(예제 입력 2)
JOIOIOIOI
        -> 1
           3

(예제 입력 3)
JOIOIJOINXNXJIOIOIOJ
        -> 2
           3
"""

 

 

## 의사코드 ##

# for i in range(len(str)):
    # 연속으로 3개의 문자가 JOI이면 JOI의 개수 + 1
    # if str[i:i+3] == 'JOI':
        # joi += 1
    # 연속으로 3개의 문자가 IOI이면 IOI의 개수 + 1
    # elif str[i:i+3] == 'IOI':
        # ioi += 1

 

 

 

 

str = input()
joi, ioi = 0, 0
for i in range(len(str)):
    # 연속으로 3개의 문자가 JOI이면 JOI의 개수 + 1
    if str[i:i+3] == 'JOI':
        joi += 1
    # 연속으로 3개의 문자가 IOI이면 IOI의 개수 + 1
    elif str[i:i+3] == 'IOI':
        ioi += 1
print(joi)
print(ioi)
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다!