백준 1541번 잃어버린 괄호(java)

마뇽미뇽·2024년 7월 28일
0

알고리즘 문제풀이

목록 보기
95/165

1.문제

https://www.acmicpc.net/problem/1541

2.풀이

📚 그리디 알고리즘

  • 단위로 쪼갠 후 그 안에서 + 단위로 쪼갠 값의 합을 구한다.
    -(A + B) 형식
    쪼개기 위해서 전체를 한 문자열로 받았고, 이 후 연산을 위해 Integer.parseInt()로 변환시켜 계산했다.

3.코드

package com.example.baekjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String s = br.readLine();
        String sub_arr[] = s.split("-");	
        //	- 단위로 쪼갬
        int answer = Integer.MAX_VALUE;
        //  최댓값을 초기값으로 저장
        //  최댓값일 경우와 아닌 경우로 조건을 주기 위해서

        for (int i = 0; i < sub_arr.length; i++) {
            int sum = 0;
            String add_arr[] = sub_arr[i].split("\\+");
            // + 단위로 쪼갬

            for (int j = 0; j < add_arr.length; j++) {
            //	+ 단위로 쪼갠 배열 안에서 더함(+ 더하기)
                sum += Integer.parseInt(add_arr[j]);
            }

            if (answer == Integer.MAX_VALUE) {  //  초기값인 경우
                answer = sum;   //  첫번째 값 설정
            } else {
                answer -= sum;
            }
        }

        System.out.println(answer);
    }
}
profile
Que sera, sera

0개의 댓글