본문 바로가기
Algorithm Study/BaekJoon (JAVA)

백준 1541_잃어버린 괄호_JAVA

by 창브로 2024. 3. 21.
728x90

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

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

 

import java.util.*;
import java.io.*;

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

        String[] arr = br.readLine().split("-"); // -를 기준으로 split

        for(int i = 0; i<arr.length; i++) {
            int temp = mySum(arr[i]);
            
            if(i==0) { // 처음 들어온 수만 +
                answer += temp;
            } else { // 나머진 다 -
                answer -= temp;
            }
        }
        System.out.println(answer);
    }

    private static int mySum(String str) {
        int sum = 0;

        String[] temp = str.split("[+]"); // +를 기준으로 split

        for(int i=0; i<temp.length; i++) {
            sum += Integer.parseInt(temp[i]);
        }
        return sum;
    }
}

 

 

회고

- 탐욕 알고리즘 문제였는데 풀지 못하고 풀이를 참조하여 풀었다.

- 괄호를 다 넣고 배열을 다시 만들어서 계산을 하려했는데 그렇게 할 필요가 없었다.

- 탐욕 알고리즘에 좀 약한거 같다.

'Algorithm Study > BaekJoon (JAVA)' 카테고리의 다른 글

백준 14888_연산자 끼워넣기_JAVA  (0) 2024.03.25
백준 1929_소수 구하기_JAVA  (1) 2024.03.22
백준 1920_수 찾기_JAVA  (0) 2024.03.21
백준 17086_아기 상어2_JAVA  (0) 2024.03.21
백준 14426_이모티콘_JAVA  (0) 2024.03.20