
[프로그래머스] 괄호 회전하기(Java)
·
알고리즘
문제주어진 문자열 s에 대해, 문자열을 왼쪽으로 한 칸씩 회전하면서 올바른 괄호 문자열인지 판단합니다. 모든 회전 경우에 대해 올바른 괄호 문자열의 개수를 반환하는 문제입니다.🛠 사용 기술Stack슬라이딩 인덱스Approach 1🔍 접근법하나의 stack을 선언하고 매 루프마다 현재 선택된 문자와 stack 맨위의 값을 비교해서 괄호짝이 맞는지 확인합니다. 회전된 문자열에서 새로운 인덱스를 구하는건 % 연산을 통해 구했지만, queue를 사용하면 더 직관적으로 구할 수 있습니다. 테스트케이스 13번에서 통과하지 못해 많이 해맸는데 원인은 다음과 같았습니다. 루프 내부에서 괄호 짝이 맞지 않을 경우 check 플래그를 false로 바꾸긴 했지만, 모든 문자가 열린 괄호인 경우, 예를 들어 "((("인 ..