자바/코딩테스트

[프로그래머스] 올바른 괄호 - Java(자바)

대전집주인 2024. 3. 25. 13:13
728x90
SMALL

 

문제이해

  • 괄호의 종류는 "(", ")" 로 한가지 이다.
  • 문자열을 한글자씩 잘라서 모양을 비교한다.
  • "(" 열었으면 +1 ")" 닫았으면 -1 로 숫자를 구한다.
  • -1이 되면 ")" 닫은 괄호가 더 많으므로 잘못된 괄호로 false 로 나간다.
  • 최종 cnt 값이 0이 아니면 열고 닫음의 개수가 동일하지 않으므로 false
class Solution {
    boolean solution(String s) {
        boolean answer = true;
        String[] word; // 스트링을 담을 배열

        //사실상 가장 간단함
        word = s.split(""); //배열에 한글자씩 저장하기
        
        int cnt = 0;
        for(int i = 0; i<word.length; i++){
            if("(".equals(word[i])){
                cnt += 1;
            }else{
                if(i==0) return false;
                cnt -= 1;
            }
            
            if(cnt == -1) return false;
        }
        
        if(cnt != 0) answer = false;

        return answer;
    }
}

 

728x90
LIST