[Java] 올바른 괄호 - Lv2 프로그래머스 스택/큐

P.S./프로그래머스 2023. 3. 17. 06:37
728x90
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이


큐를 활용해서 다음 괄호값과 비교하여 풀었고

첫 괄호가 ")"이거나, 큐에 입력되는 값이 ")"일 경우 false처리를 해 주었다.

class Solution {
    boolean solution(String s) {
        if(s.charAt(s.length()-1) == '(') return false;

        Queue<Character> queue = new LinkedList<>();
        queue.add(s.charAt(0));
        for(int i=1; i<s.length(); i++) {
        	if(!queue.isEmpty() && queue.peek() != s.charAt(i)) {
        		queue.poll();
        	}
        	else {
        		if(s.charAt(i) == ')') return false;
        		else queue.add(s.charAt(i));        		
        	}
        }        
        if(queue.isEmpty()) return true;
        else return false;
    }
}

 

728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록