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

[백준][solved.ac][Bronze 2][Python] 17389번 : 보너스 점수

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

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

 

17389번: 보너스 점수

숭고한 알고리즘 캠프 퀴즈 타임이 시작되었다! PS 기초, 동적 계획법, 파라메트릭 서치, 욱제의 생일, 탐색, 그리디, 최단경로 알고리즘, 구데기컵, 서로소 집합, 최소 신장 트리, 최소 공통 조상,

www.acmicpc.net

 

 

 

 

 

 

 

 

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

# 첫 번째 줄에는 OX표의 길이인 자연수 N을 입력합니다.
# 1 <= N <= 10,000
N = int(input())

# 두 번째 줄에는 OX표를 의미하는 문자열 S를 입력합니다.
# 길이는 N입니다.
S = input()

# 최종 점수를 저장할 변수를 선언합니다.
score = 0
# 보너스 점수를 저장할 변수를 선언합니다.
bonus = 0

# 문자열 S의 한 문제마다 반복해봅니다.
for index in range(len(S)):
    # 현재 문제를 맞췄다면
    if S[index] == 'O':
        # 최종 점수에 문제의 인덱스 + 1과 현재 저장 중인 보너스 점수를 더해줍니다. 
        score += index + 1 + bonus
        # 보너스 점수 변수에도 1을 더해줍니다.
        bonus += 1
    # 현재 문제를 틀렸다면
    else:
        # 보너스 점수를 0점으로 초기화합니다.
        bonus = 0

# 최종 점수를 출력합니다.
print(score)

결과

 

 

 

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

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

반응형

댓글