[BOJ] 1541 잃어버린 괄호 - JAVA

8525 단어 greedybojboj

📚 Problem

1541 잃어버린 괄호

📝 Solution

Key Idea

  • 덧셈은 괄호의 영향을 받지 않으나 뺄셈은 괄호의 영향을 받는다
  • 그래서 덧셈을 다한 후에 뺄셈을 진행하게되면 가장 큰수를 뺄 수 있다
  • - 로 분리한것들을 더한뒤에 빼기 연산을 해줄때 가장 앞의 숫자는 양수이므로 덧셈을 해준다
String expr = scanner.next();

String[] minusToken = expr.split("-");

for (int i = 0; i < minusToken.length; i++) {
    int plusNum = 0;

    String[] plusToken = minusToken[i].split("\\+");

    for(String plus : plusToken)
        plusNum += Integer.parseInt(plus);

    if(i == 0)
        answer += plusNum;
    else
        answer -= plusNum;
}

💻 Code

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int answer = 0;
        Scanner scanner = new Scanner(System.in);

        String expr = scanner.next();

        String[] minusToken = expr.split("-");

        for (int i = 0; i < minusToken.length; i++) {
            int plusNum = 0;

            String[] plusToken = minusToken[i].split("\\+");

            for(String plus : plusToken)
                plusNum += Integer.parseInt(plus);

            if(i == 0)
                answer += plusNum;
            else
                answer -= plusNum;
        }

        System.out.println(answer);

        scanner.close();
    }
}

좋은 웹페이지 즐겨찾기