올바른 괄호

Y3SUNG·2022년 10월 22일
1

CodingTest

목록 보기
1/2
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/12909

import java.util.*;

class Solution {
    boolean solution(String s) {
        Stack<String> stack = new Stack<>();
        for(int i = 0; i<=s.length()-1; i++){
            if(s.charAt(i) == '('){
                stack.push(String.valueOf(s.charAt(i)));
            } else {
                if (stack.isEmpty()){
                    return false;
                } else {
                    stack.pop();
                }
            }
        }
        if(stack.isEmpty()){
            return true;
        }
        return false;
    }
}

자바로 스택을 처음 사용해봤다.
자바로 코테를 푸는것조차 익숙하지 않아서
어려운 문제가 아니지만 구글링을 많이했다.
그래도 문제 몇개 풀고나니 훨씬 익숙해진 느낌이다.

풀긴 풀었지만 내가 안푼느낌...
하지만 이해를 완벽하게 했고 스택으로 구현해본 첫 코딩테스트 문제라서 만족한다!

++

if(s.charAt(i) == '('){
	stack.push(String.valueOf(s.charAt(i)));
}

이 부분을 굳이 charAt과 valueOf를 쓰지 않고

if(s.charAt(i) == '('){
	stack.push("(");
}

"(" 로 간결하게 하는게 더 보기도 좋고
좀 더 빠르지 않을까..? 라고 생각한다.
(프로그래머스에서 제출할 땐 더 빠르게 끝나는 느낌이였다ㅋㅋ)

profile
자바칩 프라푸치노

0개의 댓글