만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

근수 점수

면접 대비

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

요약
숫자로 이루어진 문자열이 주어질 때, 연속된 2로 이루어진 부분 문자열마다 길이만큼 점수를 매겨 전체 합을 구하는 문제입니다.
난이도

쉬움10점 중 3점

유형
수학, 문자열
정답자
아직 제출이 없습니다

문제

요즘 K512에서는 '근수 게임'이라는 놀이가 큰 인기를 끌고 있다. 근수 게임은 주어진 문자열의 근수 점수를 빨리 계산해서 먼저 외치는 게임이다. 근수 점수는 문자열에 있는 모든 연속된 부분 문자열에 다음 규칙으로 점수를 더한 값이다.

  1. 부분 문자열 22는 '근수'로 간주하며, 등장할 때마다 11점을 더한다.
  2. 부분 문자열 2222는 '근근수'로 간주하며, 등장할 때마다 22점을 더한다.
  3. 연속된 kk (k≥3)(k \ge 3)개의 22로 이루어진 부분 문자열 22…222 \ldots 2는 '근근...근수'로 간주하며, 등장할 때마다 kk점을 더한다.
  4. 그 외 부분 문자열은 00점을 더한다.

'근근...근수'끼리는 서로 겹칠 수 있다. 예를 들어 112223223112223223이라는 문자열에는 '근수'가 55번, '근근수'가 33번, '근근근수'가 11번 등장해 근수 점수가 (1×5)+(2×3)+(3×1)=14(1\times5) + (2\times3) + (3\times1) = 14점이 된다.

근수는 근수 게임의 최강자 자리를 차지하려고, 문자열을 입력하면 그 근수 점수를 빠르게 구해 주는 프로그램을 작성하려 한다.

입력

첫 번째 줄에 문자열의 길이 NN (1≤N≤1061 \le N \le 10^6)이 주어진다.

두 번째 줄에는 길이 NN의 문자열 SS가 주어진다. 문자열은 모두 숫자로 이루어져 있으며, 00으로 시작할 수 있다.

출력

문자열 SS의 근수 점수를 출력한다.

예제1

  1. 예제 1

    입력
    9
    112223223
    
    예상 출력
    14