끄적끄적
백준 [2504] 괄호의 값 c++, python - stack 본문
출처 : https://www.acmicpc.net/problem/2504
2504번: 괄호의 값
4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일
www.acmicpc.net
1. c++
push할 때 미리 곱해주고 이 묶음을 끝내는 쌍을(닫는 괄호) 찾으면(가장 안쪽 괄호-> 따라서 가장 직전의 값이 되는 것) 그동안 곱해진 값을 answer에 더해주고 tmp를 곱했던 만큼 나눠주기
나머지 닫는 괄호는(스택의 top) 이미 계산되었으므로 따로 answer에 더하지 않는다.
2. python
python stack
리스트로 처리
push -> append()
pop -> pop()
이때 pop은 데이터 구조에서 맨 마지막에 잇는 값을 뽑아서 준다는 의미
즉, 반환값이 있는, 리턴 시켜주는 함수. pop으로 뽑아낸 데이터는 원래 리스트 내에서 없어진다.
리스트에서 맨 마지막 데이터에 접근하고 싶으면 stk[-1]로 접근
리스트 빈 여부를 확인하고 싶으면 if not stk 또는 len(stk) == 0 사용
파이썬 나눗셈
/ : 그냥 나누기
// : 몫 구하기
'코테준비 > 백준' 카테고리의 다른 글
백준 17298 [오큰수] (0) | 2022.04.21 |
---|---|
백준 [2493] 탑 (0) | 2022.04.18 |
파이썬 11주차 - 간단한 자료구조 문제와 동적 계획법 (0) | 2021.11.15 |
파이썬 스터디 10주차 - 간단한 수학, 문자열, 정렬, 이분탐색 (0) | 2021.11.04 |
백준 [21736] 헌내기는 친구가 필요해 (0) | 2021.05.24 |