줌코딩의 코딩일기
Zoom in Coding
-
(백준 알고리즘 문제풀이) 1080번 행렬
문제 문제 링크 문제 접근 이 문제는 그리디로 풀 수 있는 문제이다. 왜 그리디인지는 나도 다른 블로그를 참고하고 나서야 알았다… 그리디인 이유 물론 3*3을 다 바꾸긴하지만 왼쪽 끝에서 부터 시작해서 바꾸기 시작한다면 [0][0]~[2][2]까지 업데이트 한 후에는 [0][0]의 값은 변하지 않게 된다. 즉, 3*3의 왼쪽 위의 점은 이제 변하지 않고 고정될...
-
(백준 알고리즘 문제풀이) 14003번 가장 긴 증가하는 부분수열5
문제 문제 링크 문제 접근 이 문제를 디피로 접근해봤기에 쉽게 풀릴 줄 알았다.. 하지만 괜히 또 다른 문제가 있는게 아님을 보여주듯 시간초과를 보게 되었다. 찾아보니 내가 푸는 방법인 n^2의 방법 말고 nlogn의 방법이 또 있어서 그를 공부해서 문제를 풀게 되었다. 방법 부분 수열의 정답을 저장하기 위한 어레이와 출력에 사용될 각...
-
(백준 알고리즘 문제풀이) 1072번 게임
문제 문제 링크 문제 접근 이 문제는 보자마자 바로 이분 탐색으로 풀어야겠다는 생각이 팍 왔다. z가 99나 100인 경우는 하나 더 올리는 게 불가능하기 때문에 그 경우에는 -1을 출력하게 하고 나머지 경우에 대해서 이분 탐색을 진행하였다. 이분 탐색 먼저 이분탐색을 진행하기 left와 right를 정하였다. 주어진 X의 최대값 10억일때 승률 1퍼를...
-
(백준 알고리즘 문제풀이) 1068번 트리
문제 문제 링크 문제 접근 이 문제는 우선적으로 트리를 만들어주고 삭제할 노드를 받은 후에 루트에서부터 DFS로 뻗어가면서 삭제된 노드를 제외한 자식노드가 0개인 노드의 개수를 세주면 된다. 코드 #include <cstdio> #include <vector> using namespace std; int n, par, root, del, ans; vector<vector<int> > tree; void find(int node){ int child = 0;...
-
(백준 알고리즘 문제풀이) 2213번 트리의 독립집합
문제 문제 링크 문제 접근 이 문제는 트리를 이해하고 디피를 활용하는 방법을 이해하고 있다면 풀 수 있는 문제이다. 트리는 사이클이 존재하지 않음으로 하나의 점에서 부터 시작해서 이전 값을 이용해서 풀어나가는 dp를 사용할 수 있다. 이 문제를 디피로 푸는 방법이 떠오르지 않는다면 백준 1520번 내리막길을 한번 풀어보길 바란다. 디피 방법 dfs를...