반응형

올바른 괄호 : 스택/큐 Lv2

 

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

 

프로그래머스

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

programmers.co.kr

 

import java.util.LinkedList;
import java.util.Queue;

class Solution {
    boolean solution(String s) {
        boolean answer = true;

        char[] str = s.toCharArray();
		int leftSize = 0;
		int rightSize = 0;
		
		Queue<Character> block = new LinkedList<>();
		
		for(int i=0;i<str.length;i++) {
			if(str[0] == ')') {
				answer = false;
                return answer;
			}
			
			block.add(str[i]);
		}
		
		int idx = 0;
		int blockSize = block.size();
		while(idx < blockSize) {
			char cBlock = block.poll();
			if(cBlock == '(') leftSize++;
			else if(cBlock == ')') rightSize++;
			
			if(rightSize > leftSize) {
				answer = false;
			}
			
			idx++;
		}
		
		if(leftSize != rightSize) answer = false;

        return answer;
    }
}

 

반응형

'알고리즘 > 프로그래머스' 카테고리의 다른 글

JadenCase 문자열 만들기  (0) 2024.04.06
최댓값과 최솟값  (0) 2024.03.27
카펫  (0) 2024.03.24
타겟 넘버  (0) 2024.03.23
구명보트  (0) 2024.03.23

+ Recent posts