Algorithm

쇠막대기 LV2

Nanamare 2020. 5. 30. 10:22
728x90

https://programmers.co.kr/learn/courses/30/lessons/42585

 

코딩테스트 연습 - 쇠막대기

여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레�

programmers.co.kr

 

import java.util.Stack;
class Solution {
    public static int solution(String arrangement) {
        int answer = 0;
        Stack<Character> stack = new Stack<>();

        for (int i = 0; i < arrangement.length(); i++) {
            if (arrangement.charAt(i) == '(')
                stack.add(arrangement.charAt(i));
            else {
                stack.pop();
                if (arrangement.charAt(i - 1) == '(')
                    answer += stack.size();
                else
                    answer++;
            }
        }
        return answer;
    }
}

 

문제 난이도는 높지 않은데, 헤맸다.

심지어 대학교 졸업하고 풀어봤던 문제인데...

728x90