본문 바로가기

개발공부27

[SWEA 1242][Python][S/W 문제해결 응용] 1일차 - 암호코드 스캔 코드 ## SWEA 1242 T = int(input()) change_hex_to_bin = {'0':'0000', '1':'0001', '2':'0010', '3':'0011', '4':'0100', '5':'0101', '6':'0110', '7':'0111', '8':'1000', '9':'1001', 'A':'1010', 'B':'1011', 'C':'1100', 'D':'1101', 'E':'1110', 'F':'1111'} ## 맨 뒤에가 전부 1이기 때문에.. 뒤에서부터 코드를 인식하도록 함. bar_code = {'112':0, '122':1, '221':2,'114':3, '231':4,'132':5, '411':6, '213':7, '312':8, '211':9} for test_ca.. 2022. 12. 31.
[SWEA 1249][Python][S/W 문제해결 응용] 4일차 - 보급로 코드 ## SWEA 1249 from collections import deque T = int(input()) move = [ (1,0), (0,-1),(-1,0),(0,1) ] def bfs(): global result queue = deque() queue.append((0,0)) dist_arry[0][0] = 0 while queue: x,y = queue.popleft() for dx,dy in move : nx = x + dx ny = y + dy if 0 2022. 12. 30.
[SWEA 1247][Python][S/W 문제해결 응용] 3일차 - 최적 경로 코드 ## SWEA 1247 def dfs(node,dist): global result if dist > result: return if sum(visited) == len(visited) : tmp = abs(node_arry[node][0]-end[0])+abs(node_arry[node][1]-end[1]) dist += tmp if dist < result : result = dist return for i in range(N): if visited[i] == 0 : visited[i] = 1 tmp = abs(node_arry[node][0] - node_arry[i][0])+abs(node_arry[node][1] - node_arry[i][1]) dist += tmp dfs(i,dist) .. 2022. 12. 30.
[SWEA 5286][Python][파이썬 S/W 문제해결 최적화] 5일차 - 그래프 색칠하기 코드 ## SWEA 5286 -- dfs 풀이 def dfs(node,color): global result visited[node] = 1 color_arry[node] = color color_list = [i for i in range(1, M + 1)] for next in node_arry[node]: if visited[next] == 0: tmp_color_list = list(set([color_arry[i] for i in node_arry[next]])) available_color_list = [c for c in color_list if c not in tmp_color_list] if not available_color_list: result = 0 return for next_c.. 2022. 12. 29.