SWEA 1767 프로세서 연결하기 (파이썬)
2022. 10. 13. 21:01
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 및 해설(주석) # import sys; sys.stdin = open('input_프로세서.txt', 'r') D = [[-1, 0], [1, 0], [0, -1], [0, 1]] # cnt와 length를 리턴해주는 함수 def cnt_length(): # arr을 깊은 복사 tmp = [i[:] for i in arr] cnt = 0 length = 0 for i in range(Q_le..
SWEA 2115 벌꿀채취 (파이썬)
2022. 10. 6. 17:23
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V4A46AdIDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 아이디어 일단 조합을 사용해야겠다는 생각이 들었다. itertools를 사용하자. 완전탐색해서 먼저 첫 번째 일꾼의 꿀을 찾고, 그 구역을 -1로 처리해서 두 번째 일꾼이 -1 부분은 채취하지 못하게 한다. 풀이 from itertools import combinations # 숫자를 담은 리스트를 넘겨주면 그 숫자들의 모든 조합에서 최대의 꿀 값을 찾아낸다. def comb(nums): candi..
SWEA 4008 숫자 만들기 (파이썬)
2022. 9. 30. 17:18
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeRZV6kBUDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 def solve(index, AA): global max_AA, min_AA, oper if index == N: max_AA = max(max_AA, AA) min_AA = min(min_AA, AA) return # 계산할 피연산자 solve함수의 매개변수 index를 사용해서 지정 val = nums[index] # 사칙연산의 경우의 수 4개 candi = [AA+val, AA - va..
SWEA 1952 수영장 (파이썬)
2022. 9. 30. 16:14
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpFQaAQMDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 def solve(index, cost): global rst if cost > rst: return if index >= 12: rst = min(cost, rst) return if schedule[index]: solve(index+1, cost+(schedule[index] * d)) solve(index+1, cost+m) solve(index+3, cost+m3) solve(inde..
SWEA 1251 하나로 (파이썬)
2022. 9. 30. 15:13
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15StKqAQkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 import math def find_set(x): while x != p[x]: x = p[x] return x for tc in range(int(input())): N = int(input()) info = [[0, 0] for _ in range(N+1)] r_info = list(map(int, input().split())) c_info = list(map(int, input().s..
SWEA 1249 보급로 (파이썬)
2022. 9. 30. 11:53
SWEA
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 (다익스트라) from heapq import heappop, heappush for tc in range(1, int(input())+1): N = int(input()) maps = [list(map(int, input())) for _ in range(N)] # 다익스트라로 최단 거리 구하기 visit = [[0]*N for _ in range(N)] D = [[0xffffff]*N fo..
SWEA 5250 최소비용 bfs (파이썬)
2022. 9. 29. 17:22
SWEA
https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 및 해설(주석) from collections import deque def bfs(r, c): # 0, 0의 visited의 값은 0으로 초기화 visited[r][c] = 0 Q = deque() Q.append((r, c)) while Q: r, c = Q.popleft() for dr, dc in [[1, 0], [0, 1], [-1, 0], [0, -1]]: nr, nc = r + dr, c + dc if 0
SWEA 5249 최소 신장 트리 Prim (파이썬)
2022. 9. 29. 15:11
SWEA
https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 및 해설(주석) def prim(r, V): MST = [0] * (V+1) # 정점 포함 여부 key = [1e9] * (V+1) # 가중치의 최대값 이상으로 초기화, key[v]는 v가 MST에 속한 정점과 연결될 때의 가중치 key[r] = 0 # 시작 정점의 key 0으로 초기화 for _ in range(V): # V+1개의 정점 중 V개 선택 u, w = 0, 1e9 # MST에 포함되지 않은 정점 중, key가 최소인 u ..