알고리즘/백준
[백준] 8595번 히든 넘버 Java 문제 풀이
무커
2022. 2. 3. 12:09
728x90
반응형
문제
단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오.
단어와 히든 넘버는 아래와 같은 성질을 갖는다.
- 연속된 숫자는 한 히든 넘버이다.
- 두 히든 넘버 사이에는 글자가 적어도 한 개 있다.
- 히든 넘버는 6자리를 넘지 않는다.
입력
첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다.
출력
입력으로 주어진 단어에 숨어있는 모든 히든 넘버의 합을 출력한다. 만약, 히든 넘버가 없는 경우에는 0을 출력한다.
예제 입력 1
14
ab13c9d07jeden
예제 출력 1
29
문제풀이
import java.io.*;
import java.math.BigDecimal;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
interface Main{
static void main(String[]a) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
BigDecimal sum = new BigDecimal("0");
String str = br.readLine();
String regex = "([\\d]+)";
Matcher matcher = Pattern.compile(regex).matcher(str);
while(matcher.find()) {
sum = sum.add(new BigDecimal(matcher.group()));
}
bw.write(sum+"");
bw.flush();
}
}
그냥 숫자들은 다 더해주면 됩니다. 음수나 소수가 없으므로 신경 쓸 게 없습니다.
출처 : https://www.acmicpc.net/problem/8595
8595번: 히든 넘버
첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다.
www.acmicpc.net
728x90
반응형