class Solution:
def decodeString(self, s: str) -> str:
dictionary = {']':'['}
stack = []
for w in s:
if w != ']':
stack.append(w)
else:
sub = ''
while stack[-1] != '[':
sub = stack.pop() + sub # 왼쪽으로 string 추가해야하므로
stack.pop()
num_str = ''
while stack and stack[-1].isdigit():
num_str = stack.pop() + num_str # 왼쪽으로 string 추가해야하므로
stack.append(int(num_str)*sub)
return ''.join(stack)
'LeetCode > LeetCode75' 카테고리의 다른 글
[LeetCode 75] Medium - 649. Dota2 Senate (0) | 2024.11.14 |
---|---|
[LeetCode 75] Easy - 933. Number of Recent Calls (0) | 2024.11.14 |
[LeetCode 75] Medium - 735. Asteroid Collision (0) | 2024.11.14 |
[LeetCode 75] Medium - 2352. Equal Row and Column Pairs (0) | 2024.11.14 |
[LeetCode 75] Easy - 643. Maximum Average Subarray I (0) | 2024.11.12 |