8주차 알고리즘 스터디3

정재혁·2022년 3월 13일

백준 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);
    }
}

문제 해결방법

  1. (-)부호로 연결된 걸 다 끊어낸다.
profile
저는 정재혁임니다^___^

0개의 댓글