트리
-
Problem : https://leetcode.com/problems/evaluate-boolean-binary-tree/ Difficulty : Easy Status : Solved Time : 00:04:22 문제 설명 풀이 DFS로 간단히 접근하자.만약 현재 노드가 리프노드라면, 현재 노드값이 1인지의 boolean 값을 검사하여 반환하자.리프노드가 아니라면, 조건상 Full binary tree이므로 왼쪽과 오른쪽 서브트리가 반드시 존재한다. 왼쪽, 오른쪽 결과물을 현재 노드값에 따라 or 연산, 혹은 and 연산을 가하여 바로 반환하면 된다.비재귀로도 가능하겠지만 재귀면 역시 간단하게 풀린다. 풀이 코드(Python)# Definition for a binary tree node.# c..
2331. Evaluate Boolean Binary TreeProblem : https://leetcode.com/problems/evaluate-boolean-binary-tree/ Difficulty : Easy Status : Solved Time : 00:04:22 문제 설명 풀이 DFS로 간단히 접근하자.만약 현재 노드가 리프노드라면, 현재 노드값이 1인지의 boolean 값을 검사하여 반환하자.리프노드가 아니라면, 조건상 Full binary tree이므로 왼쪽과 오른쪽 서브트리가 반드시 존재한다. 왼쪽, 오른쪽 결과물을 현재 노드값에 따라 or 연산, 혹은 and 연산을 가하여 바로 반환하면 된다.비재귀로도 가능하겠지만 재귀면 역시 간단하게 풀린다. 풀이 코드(Python)# Definition for a binary tree node.# c..
2024.05.16 -
Problem : https://www.acmicpc.net/problem/17306 17306번: 전쟁 중의 삶 석환나라에 전쟁이 일어났다! 석환나라는 엄청나게 큰 이진 트리 모양의 국가로, 1,2, ... ,10100 까지 번호가 붙여진 총 10100 개의 도시로 이루어져 있다. 석환나라에는 10100-1개의 도로가 있는데, www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:12:47 문제 설명 더보기 석환나라에 전쟁이 일어났다! 석환나라는 엄청나게 큰 이진 트리 모양의 국가로, 1,2, ... ,10^100 까지 번호가 붙여진 총 10^100 개의 도시로 이루어져 있다. 석환나라에는 10100-1개의 도로가 있는데, 이 중 i번째 ..
[백준/17306] 전쟁 중의 삶 (Python)Problem : https://www.acmicpc.net/problem/17306 17306번: 전쟁 중의 삶 석환나라에 전쟁이 일어났다! 석환나라는 엄청나게 큰 이진 트리 모양의 국가로, 1,2, ... ,10100 까지 번호가 붙여진 총 10100 개의 도시로 이루어져 있다. 석환나라에는 10100-1개의 도로가 있는데, www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:12:47 문제 설명 더보기 석환나라에 전쟁이 일어났다! 석환나라는 엄청나게 큰 이진 트리 모양의 국가로, 1,2, ... ,10^100 까지 번호가 붙여진 총 10^100 개의 도시로 이루어져 있다. 석환나라에는 10100-1개의 도로가 있는데, 이 중 i번째 ..
2024.02.20 -
Problem : https://www.acmicpc.net/problem/14570 14570번: 나무 위의 구슬 이진 트리란, 위처럼 모든 노드의 자식의 수가 2개 이하인 트리이다. 각 노드에 쓰여 있는 수는 노드의 번호를 의미한다. 특히, 이 문제에서는 루트가 고정되어 있으며, 노드의 순서가 중요한(어 www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:36:36 문제 설명 더보기 이진 트리란, 위처럼 모든 노드의 자식의 수가 2개 이하인 트리이다. 각 노드에 쓰여 있는 수는 노드의 번호를 의미한다. 특히, 이 문제에서는 루트가 고정되어 있으며, 노드의 순서가 중요한(어떤 서브트리에서도 좌우를 변경할 수 없는) 이진 트리에 대해 다루기로 한..
[백준/14570] 나무 위의 구슬 (Python)Problem : https://www.acmicpc.net/problem/14570 14570번: 나무 위의 구슬 이진 트리란, 위처럼 모든 노드의 자식의 수가 2개 이하인 트리이다. 각 노드에 쓰여 있는 수는 노드의 번호를 의미한다. 특히, 이 문제에서는 루트가 고정되어 있으며, 노드의 순서가 중요한(어 www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:36:36 문제 설명 더보기 이진 트리란, 위처럼 모든 노드의 자식의 수가 2개 이하인 트리이다. 각 노드에 쓰여 있는 수는 노드의 번호를 의미한다. 특히, 이 문제에서는 루트가 고정되어 있으며, 노드의 순서가 중요한(어떤 서브트리에서도 좌우를 변경할 수 없는) 이진 트리에 대해 다루기로 한..
2024.02.13 -
Problem : https://www.acmicpc.net/problem/16404 16404번: 주식회사 승범이네 첫 번째 줄에 승범이를 포함한 판매원들의 수 N(1 ≤ N ≤ 100,000), 명령의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 판매원들은 1번부터 N번까지 번호가 매겨지며, 승범이는 항상 1번이다. 두 번째 줄에 판 www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:22:01 문제 설명 더보기 승범이는 평소 래퍼 도끼를 흠모해왔지만, 도끼만큼 랩을 잘할 수 없다는 것을 깨닫고 도끼만큼 돈이라도 벌자는 결심을 한다. 그래서 휴학 후 ㈜승범이네를 창업했다. ㈜승범이네는 판매원들로만 이루어진 다단계 회사이다. 승범이..
[백준/16404] 주식회사 승범이네 (Python)Problem : https://www.acmicpc.net/problem/16404 16404번: 주식회사 승범이네 첫 번째 줄에 승범이를 포함한 판매원들의 수 N(1 ≤ N ≤ 100,000), 명령의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 판매원들은 1번부터 N번까지 번호가 매겨지며, 승범이는 항상 1번이다. 두 번째 줄에 판 www.acmicpc.net Difficulty : Platinum 3 Status : Solved Time : 00:22:01 문제 설명 더보기 승범이는 평소 래퍼 도끼를 흠모해왔지만, 도끼만큼 랩을 잘할 수 없다는 것을 깨닫고 도끼만큼 돈이라도 벌자는 결심을 한다. 그래서 휴학 후 ㈜승범이네를 창업했다. ㈜승범이네는 판매원들로만 이루어진 다단계 회사이다. 승범이..
2023.12.28 -
Problem : https://www.acmicpc.net/problem/22954 22954번: 그래프 트리 분할 첫 번째 줄에 정점의 개수 $N$, 간선의 개수$M$이 주어진다. ($1 \le N \le 100\,000$, $0 \le M \le 200\,000$) 두 번째 줄부터 $M$줄에 걸쳐서 간선을 나타내는 정수 $u$와 $v$가 주어진다. ($1 \le u, v \le N$, $u www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:33:31 문제 설명 더보기 정점 N개, 간선 M개의 그래프가 주어진다. 각 정점은 1부터 N까지 번호가 매겨져 있고, 간선도 입력되는 순서대로 1부터 M까지 번호가 매겨져 있다. 그래프에서 원하는 만큼..
[백준/22954] 그래프 트리 분할 (Python)Problem : https://www.acmicpc.net/problem/22954 22954번: 그래프 트리 분할 첫 번째 줄에 정점의 개수 $N$, 간선의 개수$M$이 주어진다. ($1 \le N \le 100\,000$, $0 \le M \le 200\,000$) 두 번째 줄부터 $M$줄에 걸쳐서 간선을 나타내는 정수 $u$와 $v$가 주어진다. ($1 \le u, v \le N$, $u www.acmicpc.net Difficulty : Gold 1 Status : Solved Time : 00:33:31 문제 설명 더보기 정점 N개, 간선 M개의 그래프가 주어진다. 각 정점은 1부터 N까지 번호가 매겨져 있고, 간선도 입력되는 순서대로 1부터 M까지 번호가 매겨져 있다. 그래프에서 원하는 만큼..
2023.11.29 -
Problem : https://www.acmicpc.net/problem/1068 Difficulty : Gold 5 Status : Solved Time : 00:13:56 문제 설명 더보기 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. 입력 및 출력 더보기 입력 첫째 줄..
[백준/1068] 트리 (Python)Problem : https://www.acmicpc.net/problem/1068 Difficulty : Gold 5 Status : Solved Time : 00:13:56 문제 설명 더보기 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. 입력 및 출력 더보기 입력 첫째 줄..
2023.11.21