목록스택자료구조 (2)
꾸준하게 거북이처럼

17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 입력 최대 수가 100만 이기 때문에 시간 복잡도를 잘 고려해야한다. for 중복문은 사용할 수 없고 자료구조 stack을 이용했다. 아래 그림은 내가 생각한 풀이를 그림으로 나타냈다. 내 코드 import sys n = int(input()) stack = list(map(int,sys.stdin.readline().split())) ans = [] stack2 = [] ans.append(-1) stack2.append(stack.pop()) while stack: va..
10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 여는 괄호는 stack에 추가, 만일 닫는 괄호 바로 앞에 여는 괄호가 있다면 레이저를 만나는 것이므로, 레이저의 여괄호는 pop하고 스택에 남은 여괄호 즉, 막대기 개수를 센다. 그 이후 닫는 괄호는 막대기가 잘려진 뒷부분 +1 을 해준다. import sys arr = sys.stdin.readline().strip() stack = [] ans = 0 for i in range(len(arr)): if arr[i] == '(': stack.append(arr[i]) e..