본문 바로가기
반응형

프로그래머스60

[파이썬🐍] 프로그래머스 : 양과 늑대 def solution(info, edges): visited = [0] * len(info) answer = [] #양이 늑대보다 많을 때마다 answer리스트에 저장함 def dfs(sheep, wolf): if sheep > wolf: answer.append(sheep) else: return for parent, child in edges: #부모노드는 방문했지만 자식노드는 방문전일때 if visited[parent] and not visited[child]: visited[child] = 1 if info[child] == 0: dfs(sheep+1, wolf) else: dfs(sheep, wolf+1) visited[child] = 0 visited[0] = 1 dfs(1, 0) retur.. 2023. 2. 6.
[파이썬🐍] 프로그래머스 : 택배상자 from collections import deque def solution(order): order=deque(order) answer = 0 container=[] for i in range(1,len(order)+1): container.append(i) while container and order[0] == container[-1]: answer+=1 container.pop() order.popleft() return answer 2023. 2. 6.
[파이썬🐍] 프로그래머스 : 혼자 놀기의 달인 def solution(cards): answer = [] for i in range(0,len(cards)): total = [] while cards[i] not in total: total.append(cards[i]) i = cards[i] - 1 #리스트와는 다르게 1번부터 시작이기 때문에 if sorted(total) not in answer: answer.append(sorted(total)) else: answer.append([]) #1번상자만 있고 2번상자는 없을 경우 answer.sort(key=lambda x : len(x)) return len(answer[-1]) * len(answer[-2]) 2023. 1. 11.
[파이썬🐍] 프로그래머스 : 부대복귀 def solution(n, roads, sources, destination): matrix = [[] for _ in range(n+1)] ##매트릭스 생성 for a, b in roads: matrix[a].append(b) matrix[b].append(a) print(matrix) ##처음은 경로 없음으로 세팅, destination은 0으로 세팅 road_map = [-1] * (n+1) road_map[destination] = 0 queue = [(destination, 0)] while queue: q = queue.pop(0) for i in matrix[q[0]]: print(i) if road_map[i] == -1: queue.append((i, q[1]+1)) road_map[i.. 2023. 1. 11.
반응형