[programmers] 다리를 지나는 트럭
로직 다리를 건너는 트럭(bridge), 대기트럭(truck_weights)를 while문을 돌면서 초가 변할때 마다 변경해준다. 이때, bridge = [0] * bridge_length를 해서 이동하는 것을 하나씩 보여준다. bridge의 합이랑 truck_weights의 첫번째 값(=bridge에 들어갈 값)을 더했을 때, weight보다 작거나 같으면 bridge에 넣어준다. 이때 bridge의 칸을 한칸씩 옮긴다(pop(0)을 통해) bridge변화 과정 time bridge truck_weights 0초 [0, 0] [7, 4, 5, 6] 1초 [0, 7] [4, 5, 6] 2초 [7, 0] [4, 5, 6] 3초 [0, 4] [5, 6] 4초 [4, 5] [6] 5초 [5, 0] [6] 6초..
더보기
[programmers] 네트워크
로직 문제가 처음에 잘 이해가 안갔다,,,(난 바보다.,,) n = 3 computers = [[1, 1, 0], [1, 1, 0], [0, 0, 1]] 답 : 2 -> why? 1,2가 하나의 네트워크, 3이 하나의 네트워크 n = 3 computers = [[1, 1, 0], [1, 1, 1], [0, 1, 1]] 답 : 1 -> why? 1,2,3이 하나의 네트워크 - visit으로 확인하면서 bfs를 사용한다. 방문한 곳(i)은 visit[i] = 1로 바꿔주고 bfs를 이용하면서 연결된 부분을 찾아낸다. bfs문에 들어간 횟수 = 네트워크 갯수이다. 따라서 while을 한번 다 돌면 cnt += 1을 해준다 코드 from collections import deque def solution(n, ..
더보기