카테고리 59

[백준] 1655번 : 가운데를 말해요 (python 파이썬)

https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1www.acmicpc.net 문제정리 : N 개의 개수만큼의 수를 입력 받은 후, 입력 받을 때마다, 중앙값을 출력. import heapqimport sys# 항상 최소가 최대보다 1보다 크거나 같게 함으로서 크기 고정하고 입력되는 수와 최소의 최대값과 비교하며 출력n = int(sys.stdin.readline().rstrip())big = [] # 중앙값보다 큰 값들 (중앙값 기..

[백준] 10844번 : 쉬운 계단 수 (python 파이썬)

https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.www.acmicpc.net   문제 정리 : 계단 수는 인접한 모든 자리의 차가 1인 수이다. 입력 값 N자리의 계단 수의 계수를 출력한다.import sys mod = 10**9 ## 십억N=int(sys.stdin.readline())mm=[[0]*10 for i in range(N+2)] ## 1-N의 자리까지의 수, 10은 각자리의 일의 자리 수mm[1]=[0,1,1,1,1,1,1,1,1,1] ## N == 1인 경우for i in range(2,N+1): mm[i][0] = mm[i-..

[백준] 15988번 : 1, 2, 3 더하기 3 (python 파이썬)

https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.www.acmicpc.net     문제 정리 : 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수 출력.import sysl = [0 for k in range(1000001)] # 미리 n의 최대 범위까지의 답을 만든다.l[0] = 1 # 1인 경우 ([1])l[1] = 2 # 2인 경우 ([1,1] ,[2])l[2] = 4 # 3인 경우 ([1,1,1],[1,2],[2,1],[3])for j in range(3..

[백준] 17298번 : 오큰수 (python 파이썬)

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 출력.                 import sysfrom collections import dequen = int(sys.stdin.readline())l = list(map(int, sys.stdin.read..

[백준] 1158번 : 요세푸스 문제 (python 파이썬)

https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)www.acmicpc.net문제 정리 : N명이서 원으로 둘러 앉을 때, K번째 순서마다 걸려 빠지는 번호를 출력 import syss = "")새로운 스택을 만듬으로서 기존의 입력값에서 인덱스로 제거하는 것보다append만을 사용하게 됨으로서 시간절약 가능또한 이 방법을 사용하면, 사라진 값은 새로운 스택에서 없어지므로 고려할 필요가 없어지게 된다.

[백준] 1406번 : 에디터 (python 파이썬)

https://www.acmicpc.net/problem/1406 1406번: 에디터첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수www.acmicpc.net 문제 정리 : 초기에 입력 받는 문자열이 주어졌을 때, 커서는 맨 오른쪽에 위치,               M 번의 개수의 수행어를 입력 받고 수행어 수행.                수행이 끝나면 편집된 문자열 출력. import syss = sys.stdin.readline().rstrip() # 문자열 입력l = list(s) # 커서 기준 왼쪽에 있는 문자열l..

[백준] 1929번 : 소수 구하기 (python 파이썬) [에라토스테네스의 체]

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.www.acmicpc.net  문제 설명문제 정리 : M이상 N이하의 소수를 증가하는 순서대로 출력import sysimport mathm,n = map(int,input().split(" "))l = [True for i in range(n + 1)] # 처음엔 모든 수가 소수(True)인 것으로 초기화for i in range(2, int(math.sqrt(n)) + 1): # 2부터 n의 제곱근까지 if l[..

[백준] 11286번 : 절대값 힙 (python 파이썬)

https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0www.acmicpc.net문제 정리 : 힙에 입력받고, 0이면 절댓값 중 최소값 출력, 최소값이 2개 이상이면 더 작은 값(음수) 출력, 배열에 아무것도 없으면 0 출력 import heapqimport sysh = [] # 힙 생성d = {} # 딕셔너리 생성n = int(sys.stdin.readline())for i in range(n): a = int(sys.s..

[백준] 1927번 : 최소힙 (python 파이썬)

https://www.acmicpc.net/problem/1927 1927번: 최소 힙첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0www.acmicpc.net 문제정리 :  N번 수행하는동안 자연수 x가 주어지면 배열에 추가, 0인 x가 주어지면 최솟값 출력 및 제거(pop) # heapq 및 sys importimport heapqimport sys h = [] #배열 생성n = int(sys.stdin.readline()) #n값 받기for i in range(n): #n번 수행 x = int(..

반응형