
문제 www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys from collections import deque N = int(input()) queue = deque() def push(X): queue.append(X) def pop(): if not queue: return -1 return queue.popleft() def size(): return len(queue) def empty(): if queu..

문제 www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 코드 T = int(input()) for i in range(T): stack = [] a=input() for j in a: if j == '(': stack.append(j) elif j == ')': if stack: stack.pop() else: # 스택에 괄호가 없을경우 NO print("NO") break else: # break문으로 끊기지 않고 수행됬을경우 ..

문제 www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 import sys N = int(input()) stack = [] a = [] def push(X): stack.append(X) def pop(): if not stack: return -1 else: return stack.pop() def size(): return len(stack) # false = 0, true =1 def empty(): if stack: return..

문제 www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 코드 def fac(a): if a==0: return 1 if a==1: return 1 else: return a * fac(a-1) # nCk = n! / ((n-k)! * k!) T = int(input()) for i in range(T): n, m = map(int, input().split()) # m개점중에서 n개를 선택하는 경우의수. mCn print(fac(m) // (fac(m-n) *..