728x90
코드만 궁금한 분은 링크
대충 문제 읽고 간단한 스택문제일 줄 알았는데 결코 그렇지 않았다.
((()))[][] 이런식으로 괄호가 입력되면 ()는 2점, []는 3점을 더하고 만약 중복된 괄호가 있을 경우 값을 곱하면 된다.
따라서 여기에는, 일반 괄호 문제처럼 (, [인 경우에는 스택에 넣고 ), ] 인 경우에는 스택에서 빼는 것에서 추가해 - 아직 남은 괄호가 있는지에 따라 계산 방식이 달라지는 경우를 추가해야한다.
사실 그냥 스택이 뭔지 알면 무조건 스택문제구나- 하고 누구나 알 수 있는 문제이고, 그 이후는 그냥 구현문제라 딱히 쓸 말이 별로 없다.
나도 한시간 반정도 미묘한..조건설정에서 헤매다 아래 블로그의 풀이를 참고해서 다시 풀었다. 코드를 보면 알겠지만 아래와 거의 같은데 다만 나는 (랑 [부분을 따로 나눠서 하지않고 별도의 딕셔너리를 만들어서 2로 계산할지 3으로 계산할지를 결정했다.
------추가------
다른 분의 코드를 참고해서 풀었던 문제의 경우에는 따로 복기해보는 시간을 갖곤 하는데, 아무리 생각해도 ]()이나 [][]]()같은 경우를 제대로 계산하고있는것같지가 않았다. 문제 조건에 따르면 두 경우는 모두 제대로 된 괄호열이 아니기때문에 0을 반환하는게 맞는데 내가 제출한(답이라고 확인된)코드에 따르면 ]나 )가 맞는 짝을 찾지 못해도 0이 아닌 나머지 계산값들을 출력하고 있었다. 해당 조건에서 0출력할 수 있게 코드 하나 추가하고 재제출했다.
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
백준 1806번 부분합 풀이/해설/코드 (파이썬) (0) | 2021.10.01 |
---|---|
백준 1700번 멀티탭 스케줄링 문제 해설/코드 (파이썬) (0) | 2021.09.30 |
백준 1062번 가르침 풀이/코드/해설 (파이썬/ dfs, 비트연산) (0) | 2021.09.29 |
백준 14888번 연산자 끼워넣기 풀이/해설/코드 (파이썬) /Eval의 속도, dfs 안에 for문 쓰기 (0) | 2021.09.27 |
백준 5904번 Moo 게임 풀이/코드 (파이썬) (0) | 2021.09.24 |