본문 바로가기

백준 문제 풀이 및 피드백

(33)
23.03.11 패션왕 신해빈 [PYTHON] https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net import sys from collections import defaultdict input = sys.stdin.readline n = int(input()) for _ in range(n): dicts = defaultdict(int) ans = 1 m = int(input()) if m == 0: ..
2023.03.03 구간 합 구하기 5[PYPY] https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net import sys input = sys.stdin.readline n,m = map(int,input().split()) # 크기와 횟수 maps = [list(map(int, input().split())) for _ in range(n)] qus = [list(map(int,input().split())) for _ in range(m)] #prin..
23.01.29 정수삼각형 백준 [파이썬] https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net import sys input = sys.stdin.readline def main(): n = int(input().strip()) board = [list(map(int,input().split())) for _ in range(n)] for i in range(n): if i == 0: continue for j in range(i+1): if j == 0: board[i][0] += board[i-1][0] continue if j == i: board[i][j..
2023.01.29 RGB거리 백준[파이썬] https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net import sys input = sys.stdin.readline n = int(input().strip()) graph = [list(map(int,input().split())) for _ in range(n)] for i in range(n-1): graph[i+1][0] += graph[i][1] if graph[i][1] < graph[i][2] else graph..
2023.01.28 예산 백준[파이썬] https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net import sys input = sys.stdin.readline def main(): n = int(input().strip()) prices = list(map(int,input().split())) total = int(input().strip()) if sum(prices)
2023.01.28 절댓값 힙 [파이썬] https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net import sys from heapq import heappop, heappush input = sys.stdin.readline heap = [] n = int(input().strip()) for _ in range(n): val = int(input().strip()) if val == 0: if heap: print(heappop(heap)[1]) continue p..
2023.01.27 Z 백준[파이썬] https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net import sys input = sys.stdin.readline def zzz(r,c,size,num = 0): if size == 1: return num size = size // 2 if r = size: num += (size ** 2) elif r >= size and c < size: num..
2023.01.25 경로찾기 백준[파이썬] https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net import sys from collections import defaultdict input = sys.stdin.readline def dfs(v): visited = [] discovered = [v] while discovered: pos = discovered.pop() visited.append(pos) for i in graph_dict[pos]: graph[v][i] = 1 if i in discovered or i in v..