파이썬(148)
-
백준 11286 파이썬 우선순위 큐 sys.stdout.write
백준 11286 - 절댓값 힙 문제 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 답안 코드 : from queue import PriorityQueue import sys print = sys.stdout.write input = sys.stdin.readline N = int(input()) myQueue = PriorityQueue() for i in range(N): request = int(input()) if ..
2024.02.16 -
백준 2164 파이썬 큐 이해 문제 Queue
백준 2164 - 카드2 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 답안 코드 : from collections import deque N = int(input()) myQueue = deque() for i in range(1, N+1): myQueue.append(i) while len(myQueue) > 1: # 카드가 1장 남을 때까지 myQueue.popleft() # 맨 위의 카드를 버림 myQueue.append(myQu..
2024.02.15 -
백준 2903 파이썬
백준 2903 : 중앙 이동 알고리즘 문제 https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 답안 코드 : print((2 ** int(input()) + 1) ** 2) 백준 / 문제 / 단계별로 풀어보기 / 8단계 일반 수학 1 생각 : # 한 변에 놓일 점의 개수를 구한 뒤 제곱 # (2^n + 1)^2 라는 규칙
2024.02.15 -
백준 17298 파이썬 , 스택의 후입선출 성질 이용
백준 17298 : 오큰수 문제 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 답안 코드 : import sys n = int(sys.stdin.readline()) A = list(map(int, sys.stdin.readline().split())) ans = [-1] * n myStack = [] for i in range(n): while myStack and A[myStack[-1]] < A[i]: ans[myStack.pop()] = A[i]..
2024.02.13 -
백준 2745 파이썬 , enumerate()
백준 2745 : 진법 변환 문제 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 답안 코드 : N, b = input().split() num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" N = N[::-1] # N을 역순으로 바꿔줍니다. result = 0 # N의 각 자리 숫자와 인덱스를 이용하여 결과를 계산합니다. for i, n in enumerate(N): # result에 (b의 i제곱) * n에 해당하는..
2024.02.12 -
백준 1847 파이썬 , 스택의 원리 이용
백준 1847 : 스택 수열 문제 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 답안 코드 : import sys N = int(sys.stdin.readline()) A = [0] * N for i in range(N): A[i] = int(sys.stdin.readline()) stack = [] num = 1 result = True answer = [] ..
2024.02.11