[백준 1541] 잃어버린 괄호

JOY·2023년 7월 14일
0

[CodingTest] Java

목록 보기
52/61
post-thumbnail

🫡문제

백준 1541 - 잃어버린 괄호

🫡코드

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String num = sc.nextLine();
		String[] arr = num.split("-"); //- 기준으로 배열에 담아줌

		int result = 0;
        
		/*
		 * for(int i=0; i<arr.length; i++) { 
             System.out.println("arr[" + i + "] = " + arr[i]); 
           }
		 */

		for (int i = 0; i < arr.length; i++) {
			int temp = operator(arr[i]);

			if (i == 0) {
				result += temp; //첫번째로 나온 숫자는 무조건 더하기
			} else {
				result -= temp; //마지막에 나온 숫자는 무조건 빼기
			}
		}

		System.out.println(result);
	}

	private static int operator(String number) {
		int sum = 0;
		String temp[] = number.split("\\+"); //(40+50+74) + 기호가 포함된 배열일 경우에만 더해줌

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

🫡풀이

  1. 가장 큰 수를 빼줘야 가장 작은 수가 나온다
  2. 더하는 부분에 있는 숫자들을 먼저 더해준 후 빼준다
    ex) 100-40+50+74-30 👉 100-(40+50+74)-30 👉 100-164-30 = -94
  3. 첫번째로 나온 숫자는 무조건 더하기를 해줘야 한다
  4. 마지막에 나온 숫자는 무조건 빼기를 해줘야 한다
    🚨 주의
    + 를 문자로 취급할 때는 이스케이프 처리를 꼭 해줘야 한다!
profile
Just Do IT ------- 🏃‍♀️

0개의 댓글

관련 채용 정보