☑️ 문제: 괄호 회전하기
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
☑️ Code
오늘의 키워드: Stack 활용
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
for (int start = 0; start < s.length(); start++) {
Stack<Character> stack = new Stack<>();
for (int i = start; i < start + s.length(); i++) {
char ch = s.charAt(i % s.length());
if (stack.isEmpty() || ch == '(' || ch == '[' || ch == '{') {
stack.push(ch);
} else {
if ((stack.peek() == '(' && ch == ')') ||
(stack.peek() == '[' && ch == ']') ||
(stack.peek() == '{' && ch == '}')) {
stack.pop();
}
}
}
if (stack.isEmpty()) {
answer++;
}
}
return answer;
}
}
☑️ Memo
<T>에는 객체가 들어가야 한다.
다른 풀이를 참고해보니 괄호를 switch문으로 구분하는 코드가 있었는데 가독성이 좋았다.
'TIL (Today I Learned)' 카테고리의 다른 글
99클럽 코테 스터디 30일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.21 |
---|---|
99클럽 코테 스터디 29일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.19 |
99클럽 코테 스터디 27일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.17 |
99클럽 코테 스터디 26일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.17 |
99클럽 코테 스터디 25일차 TIL + 오늘의 학습 키워드 (0) | 2024.08.15 |