줌코딩의 코딩일기
Zoom in Coding
-
(백준 알고리즘 문제풀이) 2458번 키 순서
문제 문제 링크 문제 접근 이 문제는 사용할 알고리즘을 떠올리지 못하고 결국에 알고리즘 분류를 봤다. 플로이드 와샬이라니.. 바로 어떻게 쓸지 생각이 팍 났다. 한 노드에서 모든 노드로의 길이 있다면 순서를 알 수 있는 친구이다. 왜냐하면 길이 앞에 있는 노드와 뒤에 있는 노드의 개수를 다 알 수 있기 때문이다. 코드 #include...
-
(백준 알고리즘 문제풀이) 2352번 반도체 설계
문제 문제 링크 문제 접근 이 문제는 디피 중에도 LIS(가장 증가하는 부분 수열) 문제에서 사용한 방법을 쓸 수 있을 것 같았다. 그래서 최근에 사용해본 nlogn 만에 길이를 찾아내는 방법을 사용해서 정답을 발견했다! 코드 #include <cstdio> #include <vector> #include <algorithm> using namespace std; namespace fio { const int BS = 524288;...
-
(백준 알고리즘 문제풀이) 2011번 암호코드
문제 문제 링크 문제 접근 이 문제는 전형적인 디피 문제의 냄새가 났다. 이차원 어레이를 사용하면 풀 수 있을 것 같아 보여서 나름의 원리를 만들고 돌려보니 정답이 나오는 것을 확인할 수 있었다. 주의할 점 0이 들어오는 경우를 한번 잘 생각해봐야 한다. 코드 #include <cstdio> int arr[5001][2], num, nxt, p, n; char...
-
(백준 알고리즘 문제풀이) 1963번 소수 경로
문제 문제 링크 문제 접근 이 문제는 처음에는 어떻게 일일이 다 찾지 했는데 혹시나 bfs가 가능할까 하고 고민했다. bfs를 떠올리고 의심하다가 결국 다른 방법이 떠오르지 않아서 bfs를 사용하게 되었다. queue 사이즈를 초과해버릴까 걱정했었는데 막상 돌려보니 소수인 친구들이 그렇게 많지 않아서인지 메모리는 걱정 없었다. 코드 #include <cstdio> #include <queue> using namespace...
-
(백준 알고리즘 문제풀이) 1939번 중량제한
문제 문제 링크 문제 접근 이 문제는 다익스트라나 bfs로 접근하려 했으나 확 막힘이 있어서 결국 알고리즘 분류를 봤다. bfs, 이분탐색 이라는 걸 보고 바로 이 문제를 출제하신 분에게 경의로움을 느꼈다. 이분 탐색으로 중량의 최대값을 찾아내도록 하면서 mid 값을 bfs를 통해서 성공과 실패 여부를 확인하다. 코드 #include <cstdio> #include <vector> #include...