1. 데이터 타입 때문에 틀렸다.
2. for 문 밖에서 데이터가 나올걸 예측하지 못해 틀렸다.
3. 쉬운 문제라고, 기본을 무시했다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.io.*; | |
/** | |
* https://www.acmicpc.net/problem/8595 | |
* BOJ 백준온라인져지 8595 히든 넘버 풀이 | |
*/ | |
public class Main { | |
private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); | |
public static void main (String args[]) throws IOException { | |
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | |
int N = Integer.parseInt(br.readLine()); | |
String str = br.readLine(); | |
String temp = ""; | |
long sum = 0; | |
for (int i = 0; i < N; i++) { | |
if (str.charAt(i) <= '9' && str.charAt(i) >= '0') temp += str.charAt(i); | |
else { | |
if (temp.length() > 0) { | |
sum += Long.parseLong(temp); | |
temp = ""; | |
} | |
} | |
} | |
if (temp.length() > 0) { | |
sum += Long.parseLong(temp); | |
temp = ""; | |
} | |
bw.write(String.valueOf(sum)); | |
bw.flush(); | |
} | |
} |
문제
단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오.
단어와 히든 넘버는 아래와 같은 성질을 갖는다.
- 연속된 숫자는 한 히든 넘버이다.
- 두 히든 넘버 사이에는 글자가 적어도 한 개 있다.
- 히든 넘버는 6자리를 넘지 않는다.
입력
첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다.
출력
입력으로 주어진 단어에 숨어있는 모든 히든 넘버의 합을 출력한다. 만약, 히든 넘버가 없는 경우에는 0을 출력한다.
'IT > 알고리즘' 카테고리의 다른 글
BOJ 백준온라인져지 5347 LCM 풀이 (0) | 2018.04.16 |
---|---|
BOJ 백준온라인져지 2532 반도체 설계 풀이 (1) | 2018.04.11 |
BOJ 백준온라인져지 8741 이진수 풀이 (0) | 2018.04.10 |
BOJ 백준온라인져지 12756 고급 레스토랑 풀이 (0) | 2018.04.09 |
BOJ 백준온라인져지 12755 수면 장애 풀이 (0) | 2018.04.09 |