https://www.acmicpc.net/problem/8595

 

8595번: 히든 넘버

문제 단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오. 단어와 히든 넘�

www.acmicpc.net

이 문제는 사실 알고리즘이 특별하다기보다 구현하는데 있어서 조금 생각이 필요했던 문제였습니다. 

어설프게 for문을 여러번 돌릴경우에 시간초과가 나기 때문에, 주어진 문자열을 for문 한번에 돌려 

해답을 찾아내는 구현을 하는것이 관건입니다.

 

이를 위해서 앞에서 부터 문자열을 탐색하는 것이 아닌 뒤에서 부터 문자열을 탐색하여

숫자가 하나씩 나올 때마다 (자리수) * 해당숫자, 즉 처음 나온 숫자라면 1*(해당 숫자) 

두번째 연속으로 나온 숫자라면 10*(해당숫자), 이런 식으로 탐색하여 더해주는것이 해답입니다. 

코드는 아래와 같습니다.

 

+ Recent posts