🐣/BOJ(38)
-
25511 c++ - 값이 k인 트리 노드의 깊이
문제 제목이나 분류를 보면 트리로 되어있지만, 굳이 트리로 풀지 않아도 됩니다.결국 깊이를 찾는 문제이므로, 부모의 정점을 기억하여 0으로 고정되어있는 root를 찾아서 거슬러 올라가면 찾을 수 있습니다.기본적인 그래프 문제. 트리로 풀려다가 이진 트리가 아니면 부모의 인덱스로 찾기가 어려워질것 같아서 부모만 잡아서 풀었습니다. 자료구조를 편협하게 정해서 "무조건 이걸로 풀어야해"하면서 문제에 덤비게 되면 눈 뜬 장님이 되어버리는 경우가 생기는 것 같습니다. 이런 문제도 그렇고 bfs도 그렇고.. 그래서 좀 시각을 넓게 보고 이게 '확실한가 ?', '이게 최적인가 ?' 하는 의심을 계속해서 해보고 더이상 의심이 들지 않을때 문제를 풀어내는 습관을 들이는 중입니다.뭐 많이 의심해도 그게 잘못된거면, 아직은..
2024.11.10 -
21735 c++ - 눈덩이 굴리기
백트래킹 문제입니다. 또는 DP로도 풀 수 있습니다. [Swift] BackTracking / 백트래킹 / 퇴각검색BackTracking / 백트래킹 / 퇴각검색 여러 후보 해 중에서 특정 조건을 충족시키는 모든 해를 찾는 알고리즘. 해를 찾는 도중 막히면 돌아가 다시 해를 찾아간다. 1. 해를 찾아가는 과정은 '루트'에서chanhhh.tistory.com [종만북] Dynamic Programming / DP / 동적 계획법Algorithmic Problem Solving Strategies 개인적으로 읽고 정리한 요약입니다. 아래 링크에 문제 풀이 예제가 있습니다. GitHub - chanheki/AlgorithmicProblemSolvingStrategies: Algorithm Book Stu..
2024.11.09 -
2623 c++ - 음악프로그램
위상정렬을 사용해서 풀었습니다. 처음에는 조금 헤맸습니다. 뒤에 나오는 값들을 들고있게 만들어야 하나 해서, reverse로 뒤집어 보기도 했는데 그냥 바로 뒤에 있는 값만 들고 있으면 된다는 사실을 깨닫고 풀었습니다. [그래프/정렬/유향] 위상정렬 / Topological Sorting위상정렬 / Topological Sorting 유향 비순환 그래프(Directed Acyclic Graph, DAG) 에서 각 노드들을 선형 순서로 나열하는 방법입니다. 여기서 유향 비순환 그래프란, 방향이 있는 그래프 중에 사이클이 없chanhhh.tistory.com 문제보기 #include #include #include #include #include #define FASTIO ios::sync_with_stdi..
2024.11.08 -
2239 c++ - 스도쿠
간단한 백트래킹 문제이다. queue를 사용해서 0의 좌표값들을 저장해서 사용했는데, 이런식으로는 처음 사용해봐서 애를 좀 먹었다. /* ************************************************************************** *//* *//* ::: ::: ::: *//* Problem Number: 2239 :+: :+: :+: *//* ..
2024.10.31 -
1005 c++ - ACM Craft
위상정렬을 사용하면 쉽게 풀 수 있습니다. [그래프/정렬/유향] 위상정렬 / Topological Sorting위상정렬 / Topological Sorting 유향 비순환 그래프(Directed Acyclic Graph, DAG) 에서 각 노드들을 선형 순서로 나열하는 방법입니다. 여기서 유향 비순환 그래프란, 방향이 있는 그래프 중에 사이클이 없chanhhh.tistory.com1516번 문제와 거의 동일한 문제. 단 w의 값을 출력해주면 됩니다.#include #include #include #define fastio ios::sync_with_stdio(0), cin.tie(0)using namespace std;int main() { fastio; int t; cin >> t; for (i..
2024.10.30