https://www.acmicpc.net/problem/8595
8595번: 히든 넘버
첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다.
www.acmicpc.net
문자열 사이 섞여 있는 숫자를 찾아 더하면 된다.
간단하다고 생각했지만 틀린 이유는 다음과 같습니다.
1) 맨마지막에 숫자가 나올 경우를 생각하지 않았다.
2) 수를 더하다보면 int 범위를 넘어갈 수도 있다는 사실을 망각했습니다.
int병 언제쯤 나을 수 있을까요.
Ğ̎ĭ̎t̆̎H̆̎ŭ̎b̆̎ : https://github.com/YunYunYY/BOJ/blob/main/B8595.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class B8595 {
public static void main(String[] args) throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(bf.readLine());
String b = bf.readLine();
long c = 0;
long d=0;
for(int i=0;i<a;i++) {
if(b.charAt(i)>='0'&&b.charAt(i)<='9') {
d*=10;d+=b.charAt(i)-'0';
}
else {
c+=d;d=0;
}
}
c+=d;
System.out.println(c);
}
}
'BOJ > Java' 카테고리의 다른 글
백준 Java : #1002 (0) | 2022.05.11 |
---|---|
백준 Java : #1064 (0) | 2022.04.20 |
Java : Lambda / stream+pipelining / Singleton (0) | 2022.04.01 |
백준 Java : #2217 (0) | 2022.03.31 |
B7789 Java (0) | 2022.03.04 |