[백준] 1541번 잃어버린 괄호
문제 및 입출력
문제 접근
이 문제는 입력 받은 식에서 적절한 위치의 괄호를 통해 최솟값을 구하는 로직이 중요하다.
최솟값은 뺄셈 값을 최대값으로 만들면 최솟값을 구할 수 있다.
다시 생각해보면, 빼셈을 제외하고 모든 덧셈을 먼저 수행한 후 뺄셈을 수행하면 된다.
이것을 구현해보면, 입력받은 문자열을 뺄셈을 기준으로 나누고 덧셈을 먼저 수행하여 뺄셈을 수행할 최댓값을 가진 정수만 가지면 된다.
이후에 뺄셈을 수행하면 최솟값이 나온다.
코드 구현
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[] arr = br.readLine().split("-");
int sum = Integer.MAX_VALUE;
for(String i : arr) {
String[] arr2 = i.split("\\+");
int temp = 0;
for(String j : arr2) {
temp += Integer.parseInt(j);
}
if(sum == Integer.MAX_VALUE) sum = temp;
else sum -= temp;
}
System.out.println(sum);
}
}
Author And Source
이 문제에 관하여([백준] 1541번 잃어버린 괄호), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choiish98/백준-1541번-잃어버린-괄호저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)