반응형
📖 문제
https://www.acmicpc.net/problem/2870
💡 풀이 방식
• 문자열 , 파싱
🔺 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import java.util.*;
import java.io.*;
import java.math.*;
public class Main {
static int N;
static List<BigInteger> list = new ArrayList<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
while(N --> 0) {
String str = br.readLine();
getNum(str);
}
// 오름차순 정렬
Collections.sort(list);
StringBuilder sb = new StringBuilder();
for(BigInteger i : list) {
sb.append(i).append("\n");
}
System.out.println(sb.toString());
}
private static void getNum(String str) {
String tmp = "";
for(int i = 0 ; i < str.length() ; i++) {
char c = str.charAt(i);
if(Character.isDigit(c)) {
tmp += c;
}
else {
if(tmp != "") {
list.add(new BigInteger(tmp));
tmp = "";
}
}
}
if(tmp != "") {
list.add(new BigInteger(tmp));
}
}
}
|
cs |
➕ 다른 풀이 방식
정규식, Pattern, Matcher를 사용한 풀이
[백준] 2870. 수학숙제
문제 링크
ddb8036631.github.io
💦 어려웠던 점
- 숫자 범위가 벗어나서 처리를 어떻게 해야 하나 싶었다.
- 조건식을 제대로 세우지 못 했다,,
🧐 새로 알게 된 내용
- 숫자가 100자리가 들어올 수 있으므로 정수형으로 표현 불가 > BigInteger 사용해야 함
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
[BOJ] 2870번 : 수학숙제 (JAVA)
https://www.acmicpc.net/problem/2870 2870번: 수학숙제 종이에서 찾은 숫자의 개수를 M이라고 하면, 출력은 M줄로 이루어져야 한다. 각 줄에는 종이에서 찾은 숫자를 하나씩 출력해야 한다. 이때, 비내림차
tech-heng.tistory.com
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 14002번: 가장 긴 증가하는 부분 수열 4 (1) | 2024.06.07 |
---|---|
[백준/JAVA] 2118번: 두 개의 탑 (0) | 2024.06.06 |
[백준/JAVA] 3474번: 교수가 된 현우 (1) | 2024.06.05 |
[백준/JAVA] 7490번: 0 만들기 (1) | 2024.06.04 |
[백준/JAVA] 16945번: 매직 스퀘어로 변경하기 (0) | 2024.05.31 |