늘 겸손하게

문제 1541 ( Java ) - 잃어버린 괄호 본문

코딩 문제/백준

문제 1541 ( Java ) - 잃어버린 괄호

besforyou999 2021. 7. 4. 21:07

잃어버린 괄호

 

최소값을 얻기 위해서는 덧셈을 먼저 다해주고 뺄셈을 하면 정답이 나온다. 주어진 입력을 split 함수로 나누어 덧셈을 먼저 해준 뒤 뺄셈을 하면 정답을 출력할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.Scanner;
import java.util.Vector;
 
public class Main {
  public static void main(String [] args) {
 
    Scanner sc = new Scanner(System.in);
 
    String arr = new String();
 
    arr = sc.nextLine();
 
    String [] sub = arr.split("-");
 
    int sum = Integer.MAX_VALUE;
 
    for ( int i = 0 ; i < sub.length ; i++ ) {
 
      int temp = 0;
 
      String [] add = sub[i].split("\\+");
 
      for (int j = 0; j < add.length ; j++ ) {
        temp += Integer.parseInt(add[j]);
      }
 
      if ( sum == Integer.MAX_VALUE ) {
        sum = temp;
      } else
        sum -= temp;
    }
    System.out.print(sum);
  } 
}
 
cs

 

주의할점은 첫번째 숫자는 무조건 양수이므로 뺄셈이 아닌 덧셈을 해주어야한다는 점이다.

'코딩 문제 > 백준' 카테고리의 다른 글

백준 1676 ( Java ) - 팩토리얼 0의 개수  (0) 2021.07.11
문제 9375 (Java) - 정수, 조합론 문제  (0) 2021.07.10
문제 11399 ( Java ) - ATM 문제  (0) 2021.07.04
문제 1931 ( C++)  (0) 2021.07.03
문제 11047 ( C++ )  (0) 2021.07.02