이호영

    백준 1517번: 버블 소트

    https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. 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 31 32 33 34 35 36 37 38 39 40 41 import sys input = sys.stdin.readline result = 0 def merge_sort(s,e): global result if e-s

    백준 13023번: ABCDE

    https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. 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 31 32 import sys sys.setrecursionlimit(10000) input = sys.stdin.readline n,m = map(int, input().split()) arrive = False a = [[] for _ in range(n+1)] visited = [False]*(n+1) def DFS(now, depth): global a..

    백준 11004번: K번째 수

    https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 n, k = map(int, input().split()) a = list(map(int, input().split())) def quicksort(s, e, k): global a if s

    백준 1427번: 소트인사이드

    https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 n =list(input()) for i in range(len(n)): max = i for j in range(i+1,len(n)): if n[max]

    백준 1377번: 버블 소트

    https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 n = int(input()) a = [] for i in range(n): a.append((int(input()), i)) s = sorted(a) max = 0 for i in range(n): if max

    백준 2750번: 수 정렬하기

    https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 n = int(input()) a = [0]*n for i in range(n): a[i] = int(input()) for i in range(n-1): for j in range(n-1-i): if a[j]>a[j+1]: temp = a[j+1] a[j+1] = a[j] a[j] = temp for i in range(n): print(a[i..

    백준 11286번: 절댓값 힙

    https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from queue import PriorityQueue import sys print = sys.stdout.write myque = PriorityQueue() input = sys.stdin.readline n = int(input()) for i in range(n): request = i..

    백준 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..