목록전체 글 (229)
DevKim
www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys from collections import deque deck=deque() def push_back(x): deck.append(x) def push_front(x): deck.appendleft(x) def pop_front(): if len(deck)==0: print(-1) else: a=deck.popleft() print(a) def pop_back(): if le..
www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys stack=[] def push(x): stack.append(x) def pop(): s=len(stack) if s==0: print(-1) else: print(stack[0]) del stack[0] def size(): print(len(stack)) def empty(): s=len(stack) if s==0: print(1) else: print(0) def fr..
www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 와.. 이 문제 2학년때 c언어 기말고사로 나왔던 문제인데 여기있어서 반가웠다..ㅋㅋㅋㅋㅋㅋㅋ 이 처음 코드는 시간제한에 걸려서 시간 초과가 났다.. from collections import deque que=deque() s=input() cnt=0 n=len(s) i=0 while True: x=0 # ( 의 개수 y=0 # ) 의 개수 ii=i if i== n-1: break else: x=0 # ( 의 개수 y=..
www.acmicpc.net/problem/3345 3345번: 괄호 첫째 줄에 부서진 괄호 문자열의 길이 N(2≤N≤30000)이 주어진다. 둘째 줄에는 (와 )로 이루어진 길이가 N인 부서진 괄호 문자열이 주어진다. www.acmicpc.net n=int(input()) cnt1=0 #( cnt2=0 #) for i in range(n): cnt1=0 cnt2=0 p=input() for j in p: if j=='(': cnt1+=1 elif j==')': cnt2+=1 if cnt1
www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys stack=[] def push(x): stack.append(x) def pop(): s=len(stack) if s==0: print(-1) else: print(stack[s-1]) del stack[s-1] def size(): print(len(stack)) def empty(): s=len(stack) if s==0: print(1) else: print(0) d..
www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 정답 비율이 20%정도밖에 안되는 문제 매우 쉬운 문제 이지만 시간제한 때문에 대다수 사람들이 틀린 것 같다 시간초과를 해결하기 위해선 카운팅 sort를 이용해야함 카운팅 sort를 사용할 날이 오다니..!! #카운팅 sort import sys n=int(sys.stdin.readline()) cnt=[0]*10001 for i in range(n): cnt[int(sys.stdin.readline())]+=1 for i in..
www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net n=int(input()) List=[] for i in range(n): List.append(list(map(str,input().split()))) List=sorted(List,key=lambda x:int(x[0])) for i in range(n): print(*List[i])
www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net n=int(input()) List=[] for i in range(n): List.append(list(map(int,input().split()))) List=sorted(List,key=lambda x:(x[0],x[1])) for i in range(n): print(*List[i])