본문 바로가기

백준

(118)
영상처리[백준 21938] https://www.acmicpc.net/problem/21938from collections import deque import sysn, m = map(int, input().split())data = []dx = [1,-1,0,0] dy = [0,0,1,-1]for _ in range(n): row = list(map(int, input().split())) data.append(row)T = int(input())visit = [[0]*(m) for _ in range(n)]cnt = 0 new_arr = [[0 for _ in range(m)] for _ in range(n)]for i in range(n): for j in range(m): r, g, b = da..
간식 파티 [백준 20162] https://www.acmicpc.net/problem/20162  n = int(input())arr= []for _ in range(n): k = int(input()) arr.append(k) dp = [0 for _ in range(n)]dp[0] = arr[0] for i in range(1, n): dp[i] = arr[i] for j in range(i-1, -1,-1): if arr[j]
회의실 배정3[백준 19622] https://www.acmicpc.net/problem/19622 이전 문제인 회의실 배정 2랑 같은 방법으로 풀면 된다. n = int(input())arr= []for i in range(n): a,b,c = map(int , input().split()) arr.append((a,b,c))arr.sort(key = lambda x : x[1])dp = [0 for _ in range(n)] dp[0] = arr[0][2]for i in range(1,n): dp[i] = dp[i-1] for j in range(i-1 , -1,-1): if arr[j][1]
찐 Even Number [백준 32981] https://www.acmicpc.net/problem/32981 처음에는 dp를 이용해서 풀려 했는데 시간 초과가 나와서 거듭제곱 계산을 이용해서 풀어보았다.import sysinput = sys.stdin.readlinedef power(a,b): if b==0: return 1 if b%2: return (power(a,b-1)*a) % 1000000007 tmp=power(a,b//2) % 1000000007 return tmp*tmp % 1000000007for i in range(int(input())): a = int(input()) if a == 1: print(5) else: print((4*power(5, a-1))%1000000007)
최소 회의실 개수 [백준 19598] https://www.acmicpc.net/problem/19598 heapq를 이용해서 진행되고 있는 강의 중에서 제일 먼저 종료되는 강의들을 찾아내면 된다. import heapq n = int(input()); total = 1; lastend=0 heap =[]; arr =[] for i in range(n): a,b = map(int, input().split()) arr.append((a,b))arr.sort() heapq.heapify(heap)heapq.heappush(heap, arr[0][1]) for start,end in arr[1:] : lastend = heapq.heappop(heap) if lastend
컵라면 [백준 1781] https://www.acmicpc.net/problem/1781 heapq를 잘 사용해서 최대 컵라면 개수를 구해준다. import heapqn = int(input())arr = []for _ in range(n): a, b = map(int, input().split()) arr.append((a, b))arr.sort()heap = []for deadline, cups in arr: heapq.heappush(heap, cups) if len(heap) > deadline: heapq.heappop(heap)print(sum(heap))
URLs [백준 6324] https://www.acmicpc.net/problem/6324 url의 형식을 찾아주는 정규 표현식을 만들어 문제를 해결한다. import redef parse_url(url): # 정규 표현식 정의 pattern = r'^(http|ftp|gopher)://([a-zA-Z0-9._-]+)(:(\d+))?(/(.*))?$' match = re.match(pattern, url) if match: protocol = match.group(1) host = match.group(2) port = match.group(4) if match.group(4) else "" path = match.group(6) if matc..
Šifra [백준 20959] https://www.acmicpc.net/problem/20959 주어진 문자열에서 숫자들만 추출하면 된다. import re string = input().rstrip() numbers = set(re.findall(r'[0-9]+',string))print(len(numbers))