백준 1541번 문제(잃어버린 괄호)
문제
문제 해설
1541번 문제는 문자열로 하나의 식을 입력받은뒤 가장 작은 값을 출력하는 문제다. 이때 괄호가 없으므로 괄호를 임의로 생성해서 문제를 풀어야 한다.
package Baekjoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_1541 {
public static void main(String[] argv) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String st = br.readLine();
String[] arr= st.split("-");
int[] num1 = new int[arr.length];
for(int i=0;i<arr.length;i++){
if(arr[i].contains("+")==true){
String[] arr2 = arr[i].split("\\+");
for(int j=0;j<arr2.length;j++){
num1[i] = num1[i]+Integer.parseInt(arr2[j]);
}
}
else{
num1[i]= Integer.parseInt(arr[i]);
}
}
int ans=0;
for(int i=0;i<arr.length;i++){
if(i==0){
ans = ans+num1[0];
}
else ans = ans-num1[i];
}
System.out.println(ans);
}
}
문제 해결방법
- (-)부호로 연결된 걸 다 끊어낸다.