자료구조
백준 17298번: 오큰수
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) stack = [0] ans = [-1]*n for i in range(1,n): while stack and a[stack[-1]]
백준 1874번: 스택 수열
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 n = int(input()) a = [0]*n for i in range(n): a[i] = int(input()) stack = [] num = 1 result = Tr..
백준 11003번: 최솟값 찾기
https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import sys from collections import deque input = sys.stdin.readline n, l = map(int, input().split()) a = list(map(int, input().split())) mydeque = deque() for i in ra..
백준 1253: 좋다
https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import sys input = sys.stdin.readline n = int(input()) a = list(map(int, input().split())) a.sort() count = 0 for k in range(n): find = a[k] i = 0 j = n-1 while i