본문 바로가기
반응형

백준26

[백준 / Python] 23843번 콘센트 https://www.acmicpc.net/problem/23843 23843번: 콘센트 광재는 전자기기 대여사업을 시작했다. 퇴근하기 전에 다음날 손님들에게 빌려줄 N개의 전자기기를 충전하려 한다. 사용 가능한 콘센트는 M개가 있고, 성능은 모두 동일하다. 전자기기들은 한 www.acmicpc.net 풀이 import sys import heapq # heapq.heappush(heap, item) : item을 heap에 추가 # heapq.heappop(heap) : heap에서 가장 작은 원소를 pop & 리턴. 비어 있는 경우 IndexError가 호출됨. # heapq.heapify(x) : 리스트 x를 즉각적으로 heap으로 변환함 N, M = map(int, input().split()) .. 2023. 3. 12.
[백준 / Python] 1780번 종이의 개수 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 풀이 n = int(input()) paper = [list(map(int, input().split())) for _ in range(n)] # print(paper) answer = [0, 0, 0] # -1 0 1 def cntPaper(x, y, m): cknum = paper[y][x] ck = True ########### m이 1이면 answer올리고 끝 if m == 1:.. 2023. 3. 1.
[백준 / Python] 10816번 숫자카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net n = int(input()) nlist = list(map(int, input().split())) m = int(input()) mlist = list(map(int, input().split())) dic = {} for i in nlist: if i in dic: dic[i] = dic[i] + 1 else: dic[i] = 1 for i in mli.. 2023. 2. 13.
[백준 / Python] 27277번 장기자랑 문제 즐거운 설날을 맞아 부대 장기자랑 행사가 개최된다! 이 행사는 한 번에 한 명씩 순서대로 공연하는 형식으로 진행된다. 장기자랑 행사의 총관리자는 공연하는 병사들의 장기자랑 실력을 토대로 행사를 준비하던 중, 아무래도 앞에 공연한 사람이 너무 잘하면 뒤에 공연하는 사람이 부담감을 느껴 본 실력을 발휘하지 못할 것이라는 고민을 하게 되었다. 이에 총관리자는 각 병사의 장기자랑 실력을 순서대로 $a_1, a_2, \cdots, a_n$이라고 할 때, $2\leq i\leq N$에 대하여 $i$번째 공연자는 실력을 $\max\left(0,a_i-a_{i-1}\right)$만큼만 발휘할 수 있을 것이라는 가설을 세웠다. 이때, 가장 먼저 공연하는 병사는 본인의 실력을 그대로 발휘할 수 있다. 위 가설에 따라.. 2023. 2. 5.
[백준 / Python] 1780번 종이의 개수 문제 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다. (1)이 아닌 경우에는 종이를 같은 크기의 종이 9개로 자르고, 각각의 잘린 종이에 대해서 (1)의 과정을 반복한다. 이와 같이 종이를 잘랐을 때, -1로만 채워진 종이의 개수, 0으로만 채워진 종이의 개수, 1로만 채워진 종이의 개수를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 37, N은 3k 꼴)이 주어진다. 다음 N개의 줄에는 N개의 정수로 행렬이 주어진다 출력 첫째 줄에 -1로만 채워진 종이의 개수를, 둘째 줄에 0으로만 채.. 2023. 1. 15.
[백준 / Python] 16953번 A → B 백준 16953 [ A → B ] 문제 python 풀이 문제 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 입력 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. 출력 A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다. 예제 입력 출력 2 162 5 4 42 -1 1000 40021 5 from collections import deque A, B = map(int, input().split()) # A를 B로만들기 # 1. 2를곱하거나 # 2. 숫자 뒷 자리에 1을 추가 (숫자 * 10 + 1) qu.. 2023. 1. 11.
728x90
반응형