목록코딩 테스트 (187)
미소를뿌리는감자의 코딩
https://leetcode.com/problems/search-in-a-binary-search-tree/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 접근 방법 이번 문제는 특정 노드를 반환하는 노드라고 해석할 수 있을 것 같다. val 이 주어졌을 때, 해당 val을 node.val 로 가지는 노드를 찾아, 그 노드를 반환..
https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 1. 접근 방법 이번 문제는 리프 노드의 개수를 출력하는 것이 목표이다. 노드들을 부모 노드 : 자식 노드로 정렬을 해주었다. 이 문제에 대해서 defaultdict dictionary로 정리한 모습은 다음과 같다. defaultdict(, {-1: [0], 0: [1, 2], 2: [3, 4], 4: [5, 6], 6: [7, 8]}) -1 이 루트 노드를 가리키므로, -1에서 부터 시작한..
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 1. 접근 방법 이번 문제는 1번 노드와 연결된 노드의 개수를 구하는 문제이다. dfs 함수에다가 set을 넘겨주고 set에 노드를 추가하는 식으로 진행했다. 만약 새로운 노드에 접근 했다면, 해당 노드에 대해서 새로운 노드들을 접근해 나가는 식으로 코드를 진행했다. 또한 새로운 노드를 set에다가 add 해주는 것도 잊지 않았다. 최종적으로는 visited를 return 해주어, 여태까지 접근 했던 ..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 1. 접근 방법 집 주위로 상하좌우를 search 한 다음, 집이 있다면, 해당 집에 대해서 다시 search를 하는 방식으로 코드를 진행하였다. 방문을 완료했다면, 중복 계산하는 것을 막기 위해, 해당 집을 0으로 바꾸어주었다. def house(i, j): if not (0