Stack

    [백준] 2504. 괄호의 값 - Python

    [Gold V] https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 풀이 기본적으로, 문제를 보자마자 Stack을 활용해 풀어야겠다고는 생각이 들었다. 처음에는 단순하게 닫을 때마다 x2, x3을 해 주면 될 것이라고 생각했는데, 보다 보니 금방 (()[]) 같은 경우, 안에서 더해준 다음 밖에서 한 번에 곱해줘야 한다는 것을 알았다. ((2+3)x2) 따라서, Stack에 숫자를 같이 넣는 형식으로 생각하여 풀이하였다. 여는 괄호일 때는 항..

    [프로그래머스] 67257. 수식 최대화

    2020 카카오 인턴십 - 67257. 수식 최대화 Python 풀이 풀이 우선, 이런 중위 표현식, 후위 표현식, 연산자 우선순위에 관한 문제들을 숱히 Stack으로 풀어 왔기에, Stack을 이용해 풀이해 보자 - 라고 생각했으나, 굳이 그럴 필요 없을 것 같아서 간단하게 생각하여 풀이했다. 우선순위 경우의 수가 최대 6가지밖에 없으니, 6가지 경우의 수를 모두 따져 보아 계산한다. 만약, 우선순위가 ['*', '-', '+'] 라면, '*' 를 모두 찾아 앞뒤로 계산 후 다시 그 index쪽에 집어넣고, 그 다음 '-' 도 같은 방법으로. 마지막으로 '+' 도 같은 방법으로 계산. 예를 들어, 아래와 같다면, ex..