본문 바로가기

백준 알고리즘108

파이썬) 백준 알고리즘 | 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 백준 1874 '스택 수열' 문제입니다. 먼저 오름차순으로 deque에 저장해놓고 입력을 리스트로 받아서 처리했습니다. import sys from collections import deque input = sys.stdin.readline q = deque([]) result = deque([]) N = int(i.. 2022. 2. 27.
파이썬) 백준 알고리즘 | 2075번 : N번째 큰 수 https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 백준 2075 'N번째 큰 수' 문제입니다. 그냥 정렬해서 풀면 메모리 문제가 나기 때문에 우선순위큐를 이용해야 합니다. 문제는 N by N이고 N번째 큰 수 를 원하기 때문에 우선순위큐에는 N개의 원소가 들어가게 하였습니다. 그래서 매 줄마다 크기를 비교하여 가장 큰 N개의 원소만 가지고 있게 구현하였습니다. import sys import heapq input = sys.stdin.readline N.. 2022. 2. 24.
파이썬) 백준 알고리즘 | 1003번 : 피보나치 함수 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 백준 1003 '피보나치 함수' 문제입니다. 피보나치 함수를 동적 프로그래밍으로 구현하고 n-1, n 번째의 피보나치 수를 출력하면 됩니다. import sys input = sys.stdin.readline T = int(input()) dp = [0] * 41 def fibo(x): if x == 0: return 0 if x == 1 or x == 2: return 1 if dp[x] != 0: return dp[x] dp[x] = fibo(x-1) + fibo(x-2) return dp.. 2022. 2. 18.
파이썬) 백준 알고리즘 | 1021번 : 회전하는 큐 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 백준 1021 '회전하는 큐' 문제입니다. deque 모듈을 사용하였고, rotate를 이용하여 2,3번을 구현하였습니다. 인덱스 위치가 그 배열의 길이의 반보다 작으면 2번연산을 수행하고 그 외에는 3번 연산을 수행하였습니다. import sys from collections import deque M, N = map(int, input().split()) poppop = list(map(i.. 2022. 2. 6.