반응형
package com.ji.beakjoon;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class LostBracket {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String calcuFormula = String.valueOf(br.readLine());
		int result = Integer.MAX_VALUE;

		// 마이너스 기준으로 순자 분리
		for (String formula : calcuFormula.split("-")) {
			int temp = 0;

			// 플러스가 포함된 수식의 경우 계산하여 temp에 저장
			for (String plusFormula : formula.split("\\+"))
				temp += Integer.parseInt(plusFormula);

			// 첫번째 숫자로 초기화
			// Q) Integer.MAX_VALUE 로 초기 값을 해야하는 이유????
			// 초기 값을 0으로 하면 temp값과 일치하므로 재귀적으로 돌게됨
			result = (result == Integer.MAX_VALUE) ? temp : result - temp;
		}

		bw.write(String.valueOf(result));

		br.close();
		bw.flush();
		bw.close();
	}

}
728x90

'[개발관련] > 코테준비' 카테고리의 다른 글

[백준] ATM  (0) 2021.06.13
[백준] 쇠막대기  (0) 2021.06.13
[백준] 1로 만들기  (0) 2021.06.13
[백준] 바이러스  (0) 2021.06.13
[프로그래머스] 신규 아이디 추천  (0) 2021.06.13

+ Recent posts