본문 바로가기

ALGORITHM

백준 1541 잃어버린 괄호 (Java)

1. 문제 링크

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

빼기 기준으로 문자열을 나눠서 각 문자열에서 더하기를 먼저 한다.

그러면 값을 뺄 때 더할 수 있는 값을 전부 더했기에 큰 값을 빼게 되는 것이다.

최종적으로 만들 수 있는 최솟값을 만들 수 있다.

 

4. 코드

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String[] str = sc.next().split("-");
		int result = Integer.MAX_VALUE;
		
		for(int i=0;i<str.length;i++) {
			int num = 0;
			String[] str2 = str[i].split("\\+");
			for(int j=0;j<str2.length;j++) {
				num+=Integer.parseInt(str2[j]);
			}
			if(result == Integer.MAX_VALUE) {
				result = num;
			}
			else {
				result -= num;
			}
		}
		System.out.println(result);
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 13023 ABCDE (Java)  (0) 2023.03.19
백준 11050 이항 계수 1 (Java)  (0) 2023.03.18
백준 1987 알파벳 (Java)  (0) 2023.03.17
백준 1049 기타줄 (Java)  (0) 2023.03.17
백준 17135 캐슬 디펜스 (Java)  (0) 2023.03.16