728x90
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
메모리: 87 MB, 시간: 569.57 ms
사용 알고리즘: 스택
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
List<Character> sList = new LinkedList<>();
for(int i = 0; i < s.length(); i++) {
sList.add(s.charAt(i));
}
Stack<Character> stack = new Stack<>();
boolean flag;
for(int i = 0; i < s.length(); i++) {
flag = true;
for(int j = 0; j < sList.size(); j++) {
if(sList.get(j) == '(' || sList.get(j) == '{' || sList.get(j) == '[')
stack.push(sList.get(j));
else if((sList.get(j) == ')' && !stack.isEmpty() && stack.peek() == '(') ||
(sList.get(j) == '}' && !stack.isEmpty() && stack.peek() == '{') ||
(sList.get(j) == ']' && !stack.isEmpty() && stack.peek() == '['))
stack.pop();
else {
flag = false;
break;
}
}
if(stack.size() != 0) flag = false;
if(flag) answer++;
sList.add(sList.get(0));
sList.remove(0);
}
return answer;
}
}728x90
'Problem Solving > Programmers' 카테고리의 다른 글
| [프로그래머스, 12949] 행렬의 곱셈 (java) (0) | 2025.12.15 |
|---|---|
| [프로그래머스, 87390] n^2 배열 자르기 (java) (0) | 2025.12.13 |
| [프로그래머스, 131701] 연속 부분 수열 합의 개수 (java) (0) | 2025.12.11 |
| [프로그래머스, 301647] 부모의 형질을 모두 가지는 대장균 찾기 (mysql) (0) | 2025.12.08 |
| [프로그래머스, 389480] 완전범죄 (java) (0) | 2025.12.07 |