6월 3주차 - 탐욕 [백준, 자바] 1542번: 잃어버린 괄호

jinvicky·2024년 6월 9일
0

ALG

목록 보기
54/62
post-thumbnail

수학을 못해서인지 괄호를 칠 수 있는 범위를 잘못 생각했다.
난 단지 괄호랑 숫자를 한 페어로 생각해서 돌아갈 거라고 생각했는데~

55-(50+40)

결론적으로 덧셈끼리 먼저 계산해야 한다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int sum = Integer.MIN_VALUE;
        StringTokenizer sub = new StringTokenizer(br.readLine(), "-");

        while (sub.hasMoreTokens()) {
            int temp = 0;

            // 뺄셈 중에서 덧셈먼저 다 + 기준으로 분리해서 저장
            StringTokenizer add = new StringTokenizer(sub.nextToken(), "+");

            // add의 값들 다 더하기
            while (add.hasMoreTokens()) {
                temp += Integer.parseInt(add.nextToken());
            }

            if (sum == Integer.MIN_VALUE) {
                sum = temp;
            } else {
                // sum에서 빼기
                sum -= temp;
            }
        }
        System.out.println(sum);
    }
}
profile
일단 쓰고 본다

0개의 댓글