소스코드
문제풀이
많은 시간을 투자했는데 결국 구글링의 힘을 빌려 알고리즘을 보고 구현만 직접 한 문제이다. 어떤 변수를 통해서 값을 곱하고 나눠야 하지않을까 까지는 접근하였는데, 너무 복잡하게 생각했는지 아니면 남은 한 문제만 빨리 해결하고 싶어서 그랬던 건지 직전 인덱스의 값만 보고 result에 더할 생각을 하지 못했다. 결국 내가 생각한 방법이 틀렸구나 모르겠다 하고 검색한 것인데 예상외로 너무 단순해서 억울했던 기억이 있다. 이전에 stack을 이용한 괄호 문제들처럼 stack을 이용하여 올바른 괄호묶음인지 판단하였다. ( 이면 2를 곱해주고 [이면 3을 곱해주며, ) 이면 2를 나눠주고 ] 이면 3을 나눠줬다. 그리고 닫는 괄호가 나왔을 때 top의 값이 맞지 않으면 무조건 올바르지 않기때문에 끝내버리고, 이전 index와 짝이 맞는 값이라면 짝이 맞는 괄호값이 최고로 커졌음을 의미하므로(그 뒤에 닫는 괄호가 나오면 top과 비교만 해주면 된다) result에 더해준다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 3059 등장하지 않는 문자의 합 (0) | 2022.07.30 |
---|---|
[백준/Python]6996 애너그램 (0) | 2022.07.30 |
[백준/python] 3181번 : 줄임말 만들기 (0) | 2022.07.24 |
[백준/Python] 14935번 FA (0) | 2022.07.24 |
[백준/Python] 1152번 : 단어의 개수 (0) | 2022.07.24 |