본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 5586번 : JOI와 IOI

by 빛밤하늘 2021. 4. 16.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

5586번: JOI와 IOI

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

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫째 줄에 알파벳 10000자 이내의 문자열을 입력합니다.
string = input()

# 문자열에서 JOI의 개수를 저장할 변수를 선언합니다.
JOI_count = 0
# 문자열에서 IOI의 개수를 저장할 변수를 선언합니다.
IOI_count = 0

# 입력한 문자열의 첫 번째 글자에서 뒤에서 3번째 글자까지 반복합니다.
for index in range(0, len(string)-2):
    # 현재 글자에서 뒤의 두 글자까지의 단어가 JOI라면
    if string[index:index+3] == "JOI":
        # JOI의 개수에 1을 더해줍니다.
        JOI_count += 1
    # 현재 글자에서 뒤의 두 글자까지의 단어가 IOI라면
    elif string[index:index+3] == "IOI":
        # IOI의 개수에 1을 더해줍니다.
        IOI_count += 1
    # 다른 단어라면
    else:
        # 그냥 다음 글자로 넘어갑니다.
        continue

# JOI의 개수를 출력합니다.
print(JOI_count)
# IOI의 개수를 출력합니다.
print(IOI_count)

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글