문제 원본 : https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
int ans = 0;
String[] spl = s.split("-");
String[] first = spl[0].split("\\+");
for (int i = 0; i < first.length; ++i) {
ans += Integer.parseInt(first[i]);
}
for (int i = 1; i < spl.length; ++i) {
String[] spl2 = spl[i].split("\\+");
for (int j = 0; j < spl2.length; ++j) {
ans -= Integer.parseInt(spl2[j]);
}
}
System.out.println(ans);
}
}
- 처음 '-'가 나오기 전까지 나온 숫자들만 양수로 계산하고 나머지는 음수로 계산하면 된다.
- split 할 때 '+'를 그냥 넣으면 안 된다는 걸 알았다.(Dangling meta character)
'알고리즘 > BOJ' 카테고리의 다른 글
| [BOJ] 2108. 통계학 (0) | 2022.02.20 |
|---|---|
| [BOJ] 3053. 택시 기하학 (0) | 2022.02.19 |
| [BOJ] 1011. Fly me to the Alpha Centauri (0) | 2022.02.17 |
| [BOJ] 1436. 영화감독 숌 (0) | 2022.02.16 |
| [BOJ] 17136. 색종이 붙이기 (0) | 2022.02.15 |