반응형
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
*괄호를 추가하여 최솟값을 만드는 것이기 때문에 ' - ' 시작부터 그다음 ' - ' 사이의 모든 값을 괄호로 묶어 큰 값을 마이너스 하게 해주면 최솟값을 만들 수 있다.
예를 들어,
10+20-30+40 의 식이 있다면, (10+20)-(30+40) 으로 묶어 주었을 때 최솟값을 가질 수 있다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] form= br.readLine().split("-");
int sum=0;
for(int i=0; i<form.length;i++) {
int tmp=0;
String[] form2=form[i].split("\\+");
for(String a: form2)
tmp+=Integer.parseInt(a);
if(i==0) //맨 앞에 있는 합
sum+=tmp;
else
sum-=tmp;
}
System.out.println(sum);
br.close();
}// main()
}// class Main
728x90
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 1654 : 랜선 자르기 _자바 Java (0) | 2023.01.25 |
---|---|
백준 9020 : 골드바흐의 추측 _자바 Java (0) | 2023.01.24 |
백준 2805 : 나무 자르기 _자바 Java (0) | 2023.01.23 |
백준 11724 : 연결 요소의 개수 _자바 Java (0) | 2023.01.23 |
백준 4948 : 베르트랑 공준 _자바 Java (0) | 2023.01.21 |
댓글