블록 게임
우측 버튼을 눌러 기기를 연결해주세요.
문제 정보
블록 게임
쉬움
유형
프로그래밍
배점
100
참여자
196
정답률
81.1%
4
19

문제


구름이는 심심할 때 블록 게임을 즐겨 한다. 블록 게임은 무한히 넓은 2차원 평면 위에 규칙에 따라 블록을 올려놓는 게임이고, 아래 규칙에 따라 게임이 진행된다.

  1. 가장 처음에는 평면의  위치에 점수가 인 블록을 놓는다.
  2. 그 다음 블록은 가장 마지막에 놓은 블록의 상하좌우 중 한 곳에 놓는다. 모든 블록의 크기는 로 동일하고, 항상 이전 블록에 딱 붙어 있도록 블록을 놓는다. 번째로 놓게 되는 블록의 점수는 이다.
  3. 게임을 진행하다 보면, 블록을 놓아야 하는 자리에 이미 블록이 있는 경우가 있을 수 있다. 이런 경우에는 블록을 겹쳐 놓는 것이 아니라, 블록을 새로 놓을 위치에 원래 블록이 존재하지 않을 때까지 최근에 놓은 블록들을 순서대로 제거한다. 그런 다음 블록을 놓는다.

블록 게임의 점수는 게임이 모두 끝난 뒤에 남아있는 블록들의 점수를 합한 값이다. 구름이가 블록을 놓은 방향과 블록들의 점수가 주어졌을 때, 게임에서 얻은 점수를 구해보자.


입력


첫째 줄에 구름이가 블록을 올려놓은 횟수 이 주어진다.
둘째 줄에는 블록을 놓은 방향을 의미하는 길이 의 문자열 가 주어진다.
셋째 줄에는 블록의 점수 이 공백을 두고 주어진다.

  • 는 LRUD 네 개의 문자로만 구성되어 있다. 각각 구름이가 마지막으로 놓은 블록의 왼쪽, 오른쪽, 위쪽, 아래쪽에 블록을 놓았다는 의미이다.


출력


구름이가 모든 블록을 놓은 뒤에, 평면 위에 남아있는 블록들의 점수 합을 출력한다.

입/출력 예시
:
공백
:
줄바꿈
:
예시 1
입력
5
RRULD
52432
출력
3
예시 2
입력
6
RRRUUU
846522
출력
28
⋇ 입출력 형식을 잘 지켜주세요
Q&A
누구나 질문하고 답변할 수 있는 Q&A입니다. 문제를 풀며 어려웠던 부분에 대해 질문해보세요.
이 문제에 관한 질문 (0)