본문 바로가기
320x100

Blog189

[CLASS 3]백준 9205번, 11047번 9205번 : 맥주 마시먼서 걸어가기 맥주를 마시면서 페스티벌에 걸어간다는 이야기를 가지고 있는... 그런 문제이다. 그래프 탐색 dfs혹은 bfs로 풀면 된다. 먼저 bfs로 푼다면 다음과 같다. 내 코드(BFS): import sys from collections import deque input = sys.stdin.readline for _ in range(int(input())): convNum = int(input()) home = tuple(map(int,input().split())) points = [] for _ in range(convNum): points.append(tuple(map(int,input().split()))) dest = tuple(map(int,input().spl.. 2021. 2. 12.
[CLASS 3]백준 - 7576번, 7569번 - 토마토 7576번 : 토마토 심심하다 싶으면 나오는 bfs문제이다. bfs말고 dfs문제좀 풀어보고 싶다. 이전까지 내가 풀어온 bfs문제와 좀 다른게 있다면 시작점이 정해져 있지 않고 퍼져 있다는 점이다. 내 코드(정답이지만 채점오류 같음): # dawitblog.tistory.com from sys import stdin from collections import deque dx = [0,0,1,-1] dy = [1,-1,0,0] def tomato_bfs(box,queue): global changed while queue: tx,ty = queue.popleft() for i in range(4): x = tx + dx[i] y = ty + dy[i] if 0 2021. 2. 11.
[CLASS 3]백준 6064번 - 카잉 달력 6064번 : 카잉 달력 잉카 문명에 관한 이야기와 달력 이야기가 나와 있다. 아마 이게 2012년에 지구가 멸명한다는 이야기의 근원인가..? 그랬던 것 같다. 그것과 별개로 이 문제는 나에게 너무 어려웠다.. 결국 풀이를 봤는데 풀이를 보니 이해는 되는데 이걸 어떻게 떠올리지? 같은 느낌이다. import sys input = sys.stdin.readline for _ in range(int(input())): m,n,x,y = map(int,input().split()) while x (m*n): print(-1) 일단 생각해보면 원하는 게 라고 하고 이때가 k번째라고 할때, 앞자리인 x를 맞추기 위해 k는 m으로 나누었을 때 나머지가 x이어야 한다. 예를 들어 x가 3이고 m이 10이라면 k는 적.. 2021. 2. 11.
[CLASS 3]백준 11279번, 1927번 - 최대 최소 힙 11279번 : 최대 힙 최대 힙을 구현하는 문제이다. 자료구조를 잘 이해하고 있다면 직접 구현할 수 있다. 나는 정말 열심히 최대 힙을 구현했는데 시간 초과에 걸렸다... 시간 제한이 매우 빡세다 그래서 갈아엎고 구글에서 최대 힙에 관해 검색한 뒤 따라 구현했는데도 틀렸다. 내 코드(틀렸습니다): import sys input = sys.stdin.readline class maxHeap: def __init__(self): self.data = [None] def insert(self,item): self.data.append(item) i = len(self.data) - 1 while i > 1: if self.data[i] > self.data[i//2]: self.data[i],self.dat.. 2021. 2. 11.