[BOJ 23046] 큰 수 뒤집기

View as PDF

Submit solution

Points: 4
Time limit: 3.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

문자열 $S$와 정수 $X$가 있다. 처음에 $S$는 빈 문자열이며 $X=0$이다. 이때, 다음 쿼리를 수행해야 한다.</p>

  • 1부터 9까지의 숫자 중 하나가 주어지면, $S$의 맨 뒤에 그 숫자를 덧붙인다. 그리고 $X$에 $S$를 10진법 정수로 읽었을 때의 값을 더한다.
  • 하이픈(-)이 주어지면, $S$를 뒤집는다.

모든 쿼리를 처리한 뒤 $X$의 값을 구하는 프로그램을 작성하자.

입력 형식

첫째 줄에 쿼리 정보를 담고 있는 길이 $1$ 이상 $2\,000\,000$ 이하의 문자열 $T$가 주어진다. 각 문자는 1부터 9까지의 숫자 중 하나 또는 -이며, 첫 번째 문자는 -이 아니다.

출력 형식

쿼리를 순서대로 모두 처리한 뒤 $X$의 값을 출력한다.

예제 입력 1

1234-567-89-123

예제 출력 1

1093443373651

예제 입력 2

12345-12345-12345-12345-12345

예제 출력 2

6035727023470496707633735

힌트

정답이 매우 클 수 있음에 유의하자.


Comments

There are no comments at the moment.