문제 18115번: 카드 놓기 수현이는 카드 기술을 연습하고 있다. 수현이의 손에 들린 카드를 하나씩 내려놓아 바닥에 쌓으려고 한다. 수현이가 쓸 수 있는 기술은 다음 3가지다. 제일 위의 카드 1장을 바닥에 내려놓는다. www.acmicpc.net 코드 My answer(시간초과) import sys input=sys.stdin.readline ocnt=0 n=int(input()) origin=[0 for i in range(n)] card=[i for i in range(n,0,-1)] tech=list(map(int,input().split())) for i in range(len(tech)): if(tech[i]==1): for j in range(n): if(origin[j]==0): brea..
코딩테스트/백준[Python]
백준 파이썬 코딩테스트 문제 풀이문제 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline t=int(input()) for i in range(t): n=int(input()) cloth=dict() tmp=1 for j in range(n): a,b=input().split() if(b in cloth): cloth[b]+=1 else: cloth[b]=1 for ..
문제 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 코드 My answer import math import sys input = sys.stdin.readline n = int(input()) sell = dict() for i in range(n): book = input().rstrip() if (book in sell): sell[book] += 1 else: sell[book] = 1 sell = sorted(sell.items(), key=lambda x: (-x[1], x[0])) pri..
문제 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 코드 My answer import sys import heapq input=sys.stdin.readline n=int(input()) heap = [] for i in range(n): tmp=int(input()) if(tmp!=0): heapq.heappush(heap, (-tmp, tmp)) else: if(heap==[]): print(0) else: result=heapq.heappop(heap) print(result[1])..
문제 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 코드 My answer from collections import deque T = int(input()) for _ in range(T): L = input() left = deque() right = deque() for i in L: if(i==""): if(len(right)!=0): left.append(right.popleft()) elif(i=="-"): if(len(left)!=0): left.pop() else: left.append..
문제 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 코드 My answer import sys from collections import deque input=sys.stdin.readline n,m=map(int,input().split()) a=deque([i+1 for i in range(n)]) b=list(map(int,input().split())) cnt=0 while(len(b)!=0): if(a[0]==b[0]): a.popleft() b.pop(0) else: ind=a.index(b[..