2차원 배열을 탐색하는 것보다는 간선 탐색이 머릿속에 그림을 그리기는 훨씬 쉬웠다.
다만 입력을 어떻게 받아야 하는지 고민이 많이 되었다.
어떻게 받느냐는 각자 스타일이긴 하지만, 그에 따라 코드 구현의 난이도는 달라질테니... 8ㅅ8 공부하면서 내 걸 만들어야지.
그리디 문제에서 필요한 계산식은 떠올렸지만, 이 값을 어떻게 활용해야 할지, 예외사항은 없는지 금방 생각하지 못했다.
더 많은 문제를 풀어봐야겠다.
Day 14 : 작은 노드
- 리스트의 요소값 뿐만 아니라, 위치값을 활용하여 풀이할 수 있다.
- 양방향의 경우, 시작 위치와 종료 위치 모두에 서로에 대한 요소값을 넣어줘야 한다.
- 입력받는 방식은 이런 방식도 있다는 것을 잘 기억하자.
for _ in range(M): s, e = map(int, input().split()) graph[s].append(e) graph[e].append(s)
>> [[], [2, 4], [1, 3, 5, 6], [2], [1, 5], [2, 4], [2]]
Day 15 : 과일 구매
- 과일 조각당 포만감이 높은 순으로 정렬 후, 과일 가격보다 돈이 많은 경우에는 통째로 사고, 과일 가격보다 돈이 적은 경우 조각으로 산다.
- 돈이 적으므로 조각이 모자라는 예외사항은 없다.
- 모든 과일을 구매하고도 돈이 남는 경우를 대비해, 과일이 더이상 남는 경우가 없는 조건까지 추가해야 한다.