전체 글
22.09.06. 풀었던 문제들
백준 단계별 30 union-find 20040 Cycle Game 4195 Virtual Friends 백준 단계별 31 Minumum Spanning Tree 9327 flying safely 1197 최소 스패닝 트 4386 freckles
[GCP Tutorial] RDP through HTTPs connection using guacamole (feat. GCP)
대충 원리는.. Proxy와 Remote Client를 이용해 접속할 컴퓨터로 rdp 접속. 이 접속 내용을 guacamole protocol로 tomcat 서버에 뿌리고, web에서 접근 가능한 방식. 나의 경우는 nginx로 proxy도 사용했으니까 web 접속 - nginx proxy - guacamole tomcat 접근 - guacamole이 rdp 접속 이렇게 되는 것 같다. 복잡하기도 해라. 구성은 docker로 할지, 아니면 쌩으로 설치할지, 또 VM은 code-server가 있는 곳에서 할지, 다른 곳에서 할지 고민을 조금 했다. 그런데 GCP 특성상 가격이 [싼 것 2개 < 싼 것 스펙 2배짜리 VM 1개]처럼 되기 때문에 그냥 E2-medium 2개를 쓰기로 했고, 그러면 굳이 여러 ..
22.09.04. SQLD 자격증 응시
sqld + 과에서 업무한다고 근2주간은 1일 1문제만 푼 것 같다. 특히 sqld.. 이자식 때문에 7일을 쓴거같은데 너무 아쉽다. 최근에 문제를 거의 못 풀었으니 뭐... 그래도 합격은 가뿐하게 할 것 같다. 당분간은 과카몰리를 이용해 https로 원격 데스크톱이 작동하는지 찾아볼 예정이다.+N2T 작업. - 끝!
22.09.02. 풀었던 문제들
백준 4803 트리 트리인지 검사하는 문제. tree는 acyclic connected graph임을 인지하고 cycle이 있는지 검사하면 된다
22.08.29. 풀었던 문제들
백준 1967 트리의 지름 - 나름 재밌는 문제. 임의로 뽑은 한 vertex가 longest path 중간에 있을 수 있으므로, vertex부터 longest vertex를 뽑고 해당 vertex부터 longest distance를 구하면 된다.
22.08.24. 풀었던 문제
백준 단계별 28 DP와 최단거리 역추적 2618 경찰차 - top-down, bottom-up 둘 다 풀었음. 9019 DSLR 11779 최소비용 - dijkstra 할 때, 같은 edge이지만 cost가 다른 경우. ex) from 1 to 2 weight 10 / from 1 to 2 weight 20 이런 경우가 주어지면, 앞의 edge에 의해 update되고, 이게 최소임에도 불구하고 뒤의 edge에 의해 또 update 여부를 보기 때문에 조금 더 시간이 걸린다. 예외 사항 기억하자. 11780 플로이드 2 - 역시 역추적은 어렵다.
22.08.22. 풀었던 문제들
백준 단계별 28 DP와 역추적 14002 LIS 4 14003 LIS 5 - 이 2개는 예전에 푼 적 있었다. 12852 1로 만들기 2 - 답부터 거꾸로 찾아가면 됨. 말 그대로 역추적. void solve(){ int N; cin>>N; int INF = 987654321; vector dp(N+1, INF); vector prev(N+1); // prev[i] : i 이전에 온 수 dp[0] = 1; dp[1] = 0; for(int i = 2; i dp[i/2] + 1){ dp[i] = dp[i/2] + 1; prev[i] = i/2; } } if(i%3 == 0){ if(dp[i] > dp[i/3] + 1){ dp[i] = dp[i/3] + 1; prev[i] = i/3; } } } cout
Two Pointer, Sliding Window, Meet in the Middle ***TODO
two pointer 특 : 그냥 포인터 2개 움직이면 됨 sliding window 특 : 크기 고정한 two-pointer임. 주의할 점은 배열의 indexding. meet in the middle 특 : div&conquer인데 1번만 하는 경우임. 주어진 n으로 Brute-Force는 불가능 해 보이지만, n/2로 Brute-Force는 가능해 보일 때 사용하는 기법. 보통 n이 30~50정도일 때 쓸 수 있다. 앞 절반, 뒤 절반으로 나누고 앞 절반으로 뒤 절반을 탐색하면 된다. 그 절반을 정렬해도 $log2^{n/2} = log(n/2)$이기 때문에 $O(2^{n/2} * n/2)$에 풀린다.