알고리즘/BOJ

[BOJ] 1541. 잃어버린 괄호

재담 2022. 2. 18. 00:11

문제 원본 : 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