줌코딩의 코딩일기
Zoom in Coding
-
(백준 알고리즘 문제풀이) 10216번 Count Circle Groups
문제 문제 링크 어떻게 접근할 것인가 두 점의 거리가 두 레이더를 더한 거리 보다 작으면 queue에 넣어주는 식으로 진행했다. 코드 #include <cstdio> #include <queue> using namespace std; char buf[1 << 17]; inline char read() { static int idx = 1 << 17; if (idx == 1 << 17) { fread(buf,...
-
(백준 알고리즘 문제풀이) 1991번 트리 순회
문제 문제 링크 문제 접근법 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트) 코드 #include <cstdio> #include <vector> using namespace std; int n; char s,...
-
(백준 알고리즘 문제풀이) 1761번 정점들의 거리
문제 문제 링크 두 점 사이를 어떻게 구할까 그냥 두 점 사이의 거리를 DFS나 BFS로 찾는다?? 그 결과 시간 초과가 발생했다…ㅎㅎ 역시 이건 방법이 아니다. 찾아보다가 알게 된 LCA 알고리즘! 다시금 정리하고 넘어간다. LCA 알고리즘 LCA 알고리즘은 트리 내에 공통부모인 LCA(Lowest Common Ancestor)를 찾아주는 알고리즘이다. 처음 트리를 생성할 때 각...
-
(백준 알고리즘 문제풀이) 1167번, 1967번 트리의 지름
문제 1167번 문제 링크 1967번 문제 링크 결과 일단 기분 좋은 결과부터 보고 가자 ㅎㅎ 트리의 이해 트리는 방향이 있는 그래프가 아니고 사이클이 존재하지 않는다. 때문에 더 짧은 길이 들어와서 길의 크기를 업데이트 해줄 일이 없다.(다른 길이 있다는 건 사이클이 존재한다는 것이다.) 엣지가 하나밖에 없는 노드는 leaf나 root 노드가 될...
-
(백준 알고리즘 문제풀이) 2580번 스도쿠
문제 문제 링크 어떻게 접근할 것인가? 일단 스도쿠 판을 다 받아옵니다. 백트레킹 함수를 호출합니다. 3*3, 가로, 세로를 쭉 확인해서 1 ~ 9 까지의 숫자 중에 없는 애를 확인합니다. (현명쓰…) 해당 위치에 cnt가 0인 수가 있으면 넣어주고 DFS를 진행합니다. 숫자를 찾을 수 없으면 0을 return하고 백트래킹해줍니다. 판을 숫자로 가득채우면 1을 return합니다....