보너스 점수

면접 대비

시간 제한1초메모리 제한512 MB

요약
O와 X로 이루어진 길이 N의 문자열이 주어질 때, i번 문제의 기본 점수 i점과 O가 나올 때마다 1씩 늘고 X에서 0으로 초기화되는 보너스 점수를 더해 총점을 구한다.
난이도

쉬움10점 중 2점

유형
구현, 시뮬레이션, 문자열
정답자
아직 제출이 없습니다

문제

숭고한 알고리즘 캠프 퀴즈 타임이 시작되었다! PS 기초, 동적 계획법, 파라메트릭 서치, 욱제의 생일, 탐색, 그리디, 최단경로 알고리즘, 구데기컵, 서로소 집합, 최소 신장 트리, 최소 공통 조상, 세그먼트 트리, 코드포스에서 C++로 높은 수준의 난수를 생성하는 방법, 최대 유량, 볼록 껍질 등 수많은 주제를 망라한 이 미니 대회는 수많은 참가자의 도전으로 오늘도 빛나고 있고, 제출된 OX표의 개수는 셀 수 없을 정도이다.

운영진들은 이 OX표를 채점하고, 점수를 계산한 다음, 시상식을 진행하며 화기애애하게 행사를 마무리해야 한다. 숭고한 알고리즘 캠프 퀴즈 타임에서 OX표의 점수는 다음과 같이 계산된다.

  • OX표에 N개의 문제가 있을 때, 1번 문제, 2번 문제, ..., N번 문제 순으로 채점된다.

  • 문제는 뒤로 갈수록 어려워지기 때문에, i번 문제의 기본 점수는 i점이다.

    • 문제를 맞히면 그 문제의 기본 점수(즉 i번 문제의 경우 i점)를 획득하며, 틀리면 얻지 못한다.
  • 기본 점수와 별개로, '보너스 점수'라는 값이 존재한다. 이는 처음에는 0점이다.

    • 문제를 맞히면 그때의 '보너스 점수'를 획득하고, '보너스 점수'의 값이 1점 증가한다.
    • 문제를 틀리면 '보너스 점수'를 얻지 못하고, '보너스 점수'의 값이 0점으로 초기화된다.

민성이는 얼떨결에 숭고한 알고리즘 캠프 퀴즈 타임의 OX표를 채점해야 하는 업무를 맡게 되었다. 수많은 OX표를 볼 생각에 머리가 지끈거리는 민성이는 프로그램을 세워 이를 자동화하려고 한다. 시상식까지 4시간밖에 남지 않은 민성이를 도와 점수를 계산해주자.

입력

첫 번째 줄에 OX표의 길이인 자연수 N이 주어진다. (1 ≤ N ≤ 10,000)

두 번째 줄에 OX표를 의미하는 문자열 S가 주어진다. S는 O(알파벳 대문자 O, ASCII 코드 79)와 X(알파벳 대문자 X, ASCII 코드 88)로만 구성되어 있으며, 길이는 N이다.

문자열 S의 i번째 글자가 O이면 해당 참가자가 i번째 문제를 맞혔음을 의미하고, X이면 틀렸음을 의미한다.

출력

첫 번째 줄에 입력으로 들어온 OX표의 점수를 출력한다.

예제1

  1. 예제 1

    입력
    8
    XOOOXOOX
    
    예상 출력
    26