실버1
-
문제 보기 : 2156번: 포도주 시식 문제정답률 : 32%작성 코드T = int(input())wine = [0]*(T+1)for i in range(1,T+1): wine[i]=int(input())cost = [0]*(T+1)# wine = [0, 6, 10, 13, 9, 8, 1]# cost = [0, 6, 16, 19, ...]if T>=1: cost[1] = wine[1]if T>=2: cost[2] = wine[1]+wine[2]if T>=3: cost[3] = max(wine[1]+wine[2],wine[1]+wine[3],wine[2]+wine[3])for i in range(4, T+1): cost[i] = max(cost[i-1], cost[i-2]+win..
S1 2156. 포도주 시식문제 보기 : 2156번: 포도주 시식 문제정답률 : 32%작성 코드T = int(input())wine = [0]*(T+1)for i in range(1,T+1): wine[i]=int(input())cost = [0]*(T+1)# wine = [0, 6, 10, 13, 9, 8, 1]# cost = [0, 6, 16, 19, ...]if T>=1: cost[1] = wine[1]if T>=2: cost[2] = wine[1]+wine[2]if T>=3: cost[3] = max(wine[1]+wine[2],wine[1]+wine[3],wine[2]+wine[3])for i in range(4, T+1): cost[i] = max(cost[i-1], cost[i-2]+win..
2024.10.22 -
문제 보기 : 1697번: 숨바꼭질 문제정답률 : 26%작성 코드from collections import dequedef find(start,bro): if start >= bro: #동생이 더 앞에 있는 경우 return start-bro visited = [-1]*100001 visited[start] = 0 dd = deque([start]) while dd: now = dd.popleft() can = (now-1,now+1,2*now) for jump in can: if jump == bro : return visited[now]+1 if 0풀이1차원..
S1 1697. 숨바꼭질문제 보기 : 1697번: 숨바꼭질 문제정답률 : 26%작성 코드from collections import dequedef find(start,bro): if start >= bro: #동생이 더 앞에 있는 경우 return start-bro visited = [-1]*100001 visited[start] = 0 dd = deque([start]) while dd: now = dd.popleft() can = (now-1,now+1,2*now) for jump in can: if jump == bro : return visited[now]+1 if 0풀이1차원..
2024.10.22 -
문제 보기 : 1149번: RGB거리 문제정답률 : 56%작성 코드 & 풀이 과정 코멘트## DPT = int(input())cost = [list(map(int,input().split())) for _ in range(T)]# cost = [[26,40,83],[49,60,57],[13,89,99]]color = [[0]*3 for _ in range(T)]color[0] = cost[0]# color = [[26,40,83],[0,0,0],[0,0,0]]for i in range(1,T): color[i][0] = cost[i][0]+ min(color[i-1][1],color[i-1][2]) #[49+40, 0, 0] / color[i][1] = cost[i][1]+ min(colo..
S1 1149. RGB거리문제 보기 : 1149번: RGB거리 문제정답률 : 56%작성 코드 & 풀이 과정 코멘트## DPT = int(input())cost = [list(map(int,input().split())) for _ in range(T)]# cost = [[26,40,83],[49,60,57],[13,89,99]]color = [[0]*3 for _ in range(T)]color[0] = cost[0]# color = [[26,40,83],[0,0,0],[0,0,0]]for i in range(1,T): color[i][0] = cost[i][0]+ min(color[i-1][1],color[i-1][2]) #[49+40, 0, 0] / color[i][1] = cost[i][1]+ min(colo..
2024.10.19 -
문제 보기 : 1931번: 회의실 배정 (acmicpc.net) 문제정답률 : 30%작성 코드 & 풀이 과정 코멘트## 그리디 알고리즘T = int(input())graph = [list(map(int,input().split())) for _ in range(T)]p = max(max(graph))graph.sort(key=lambda x:(x[1],x[0])) #끝나는 시간 순으로 정렬now = 0count = 0for start, end in graph: if start >= now : now = end #그 회의 끝난 시간 count += 1print(count) 처음에는 DFS로 풀이했다.. {1: [4], 3: [5, 8], 0: [6], 5: [7, 9], 6..
S1 1931. 회의실 배정문제 보기 : 1931번: 회의실 배정 (acmicpc.net) 문제정답률 : 30%작성 코드 & 풀이 과정 코멘트## 그리디 알고리즘T = int(input())graph = [list(map(int,input().split())) for _ in range(T)]p = max(max(graph))graph.sort(key=lambda x:(x[1],x[0])) #끝나는 시간 순으로 정렬now = 0count = 0for start, end in graph: if start >= now : now = end #그 회의 끝난 시간 count += 1print(count) 처음에는 DFS로 풀이했다.. {1: [4], 3: [5, 8], 0: [6], 5: [7, 9], 6..
2024.10.18 -
문제 보기 : 2667번: 단지번호붙이기 (acmicpc.net) 문제정답률 : 42%작성 코드 & 풀이 과정 코멘트from collections import dequedef solution(graph,start): graph[start[0]][start[1]]= 0 direction = [(-1,0),(1,0),(0,-1),(0,1)] count = 1 dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy in direction: xx = dx+x ; yy = dy+y if 0graph에서 1인 지점 좌표를 (i,j)로 두는데 이걸 start로 하는데, 이를..
S1 2667. 단지번호붙이기문제 보기 : 2667번: 단지번호붙이기 (acmicpc.net) 문제정답률 : 42%작성 코드 & 풀이 과정 코멘트from collections import dequedef solution(graph,start): graph[start[0]][start[1]]= 0 direction = [(-1,0),(1,0),(0,-1),(0,1)] count = 1 dd = deque([start]) while dd: x,y = dd.popleft() for dx,dy in direction: xx = dx+x ; yy = dy+y if 0graph에서 1인 지점 좌표를 (i,j)로 두는데 이걸 start로 하는데, 이를..
2024.10.18 -
문제 보기 : 2178번: 미로 탐색 (acmicpc.net) 문제정답률 : 44%작성 코드 & 풀이 과정 코멘트1) 1차 풀이from collections import dequedef bfs(g,start,n,m): d = [(0,-1),(0,1),(-1,0),(1,0)] vis = [[False]*m for i in range(n)] vis[start[0]][start[1]]=True dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 and y == m-1: return g[x][y] for dx,dy in d: X = dx+x ; Y =..
S1 2178. 미로 탐색문제 보기 : 2178번: 미로 탐색 (acmicpc.net) 문제정답률 : 44%작성 코드 & 풀이 과정 코멘트1) 1차 풀이from collections import dequedef bfs(g,start,n,m): d = [(0,-1),(0,1),(-1,0),(1,0)] vis = [[False]*m for i in range(n)] vis[start[0]][start[1]]=True dd = deque([start]) while dd: x,y = dd.popleft() if x == n-1 and y == m-1: return g[x][y] for dx,dy in d: X = dx+x ; Y =..
2024.10.09