-
[프로그래머스] 올바른 괄호코딩테스트 문제풀이 2021. 9. 10. 14:18
1. 문제
2. 풀이
import java.util.*; class Solution { private final static String LEFT = "("; private final static String RIGHT = ")"; boolean solution(String s) { boolean answer = true; List<String> sList = new ArrayList<String>(); for (int i = 0; i < s.length(); i++) { String g = s.substring(i, i+1); sList.add(g); } int count = 0; int idx = 0; while(idx < sList.size()) { if (sList.get(idx).equals(LEFT)) { idx++; count++; } else { idx++; count--; } if (count < 0) return false; } if (count != 0) return false; return answer; } }
- 왼쪽괄호일때 count ++, 오른쪽 괄호일때 count --, 잘못된 괄호인 경우, count가 0보다 작아지므로 count < 0보다 작을 때 false return.
- count는 왼쪽, 오른쪽이 같을 때 0이 됨. 0이 아니면 짝이 안맞는것이기 때문에 false return.
출처: https://programmers.co.kr/learn/courses/30/lessons/12909
'코딩테스트 문제풀이' 카테고리의 다른 글
[백준 11407] 동전 0 (0) 2021.09.22 [백준 2606] 바이러스 (0) 2021.09.19 [백준 1260] DFS와 BFS (0) 2021.09.19 [프로그래머스] 구명보트 - Greedy (0) 2021.09.13 [프로그래머스] 위장 - HashMap (0) 2021.09.10