Algorithm (Python & Java)/스택 & 큐 3

[백준/Python] 에디터 1406

알고리즘 분류 : 연결 리스트, 스택 시간복잡도 : O(N) 시간복잡도 NlogN까지 가능 단순 구현을 하면 insert, del에서 O(N)이 쓰이기 때문에 TLE가 발생한다 insert, del에서 시간복잡도를 줄이기 위해 deque의 popleft, appendleft를 사용한다 또한 popleft와 appendleft를 사용하기 위해서, cursor를 기준으로 String을 좌측과 우측으로 분리한다 실패 1. 구현 - TLE, insert와 del을 처리할 방법이 필요 2. 구현 - insert와 del이 O(1)인 deque를 사용 - TLE, deque는 이중 연결리스트로, 중간값에 대해서는 접근이 느리기 때문에 항상 O(1)이 아님성공 3. 구현 - reference : https://vel..

[백준/Python] 괄호의 값 2504

알고리즘 분류 : 스택 시간복잡도 : O(N) 접근 계산이 끝난 경우(덧셈하는 경우)와 계속하는 경우(곱하는 경우)로 나누어서 접근해야한다 예시) 입력값 : ( ( ) [ [ ] ] ) ( [ ] ) 원래 계산 : (2+3*3)*2 + (2*3) 바꾼 계산 : (2*2) + (2*3*3) + (2*3) 열린 괄호 (,[ 에서 실제 계산이 이루어지고, 닫힌 괄호 ),] 에서 올바른 경우의 판단을 진행한다 올바른 경우의 판단은, stack[-1]이 아니라 string[cur_index-1]로 판단해야한다 stack[-1]로 판단하면 계산이 중복된다 from sys import stdin input = stdin.readline def solution(string): result = 0 cur_calc = 1..