본문 바로가기

알고리즘/백준

[백준] 1541 잃어버린 괄호

문제링크: www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

마이너스가 하나라도 존재하는 부분부터 다 음수가 가능하다는 것이 자명하기 때문에 마이너스 기준으로 나누었다.

split 방법을 몰라서 검색했고 배웠다.

import java.io.*;
import java.util.*;
public class Main {

	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str= br.readLine();
		String b[] = new String[50];
		String c[] = new String[50];
		boolean has_minus = false;
		for(int i=0;i<str.length();i++) {
			if(str.charAt(i)=='-') {
				b = str.substring(0, i).split("\\+|\\-");
				c = str.substring(i+1,str.length()).split("\\+|\\-");
				has_minus = true;
				break;
			}
		}
		
		String a[] = str.split("\\+|\\-");

		int sum = 0;
		if(has_minus == false)
			for(int i=0;i<a.length;i++) {
				sum+= Integer.parseInt(a[i]);
			}
		else {
			for(int i=0;i<b.length;i++) {
				sum+=Integer.parseInt(b[i]);
			}
			for(int i=0;i<c.length;i++) {
				sum-= Integer.parseInt(c[i]);
			}
		}
		
		System.out.println(sum);
	}

}

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 1629 곱셈  (2) 2020.12.20
[백준] 1992 쿼드트리  (0) 2020.12.20
[백준] 11054 가장 긴 바이토닉 부분 수열  (0) 2020.12.08
[백준] 2565 전깃줄  (0) 2020.12.08
[백준] 1003 피보나치 함수  (0) 2020.12.07