1. 문제 링크
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 |