-
[C++] BOJ 2668 숫자고르기 TOP NEW
2668번: 숫자고르기 해당 문제는 일차원 배열에서 ‘사이클’ 을 구하는 문제이다. N이 100 이하이기 때문에 방문지를 체크하면서 DFS 를 구현만 하면 되는 문제인데 코드를 최적화하면서 신기하고 깔끔한 코드를 보게 되어서 공유하려고 한다. #include<bits/stdc++.h> using namespace std; #define SIZE 102 int n, arr[SIZE], chk[SIZE], res; void DFS(int x, int target) { for (int i = 1; i <= n; i++) { if (x == target) { ... Read More
-
[C++] BOJ 8980 택배 TOP NEW
8980번: 택배 그리디 알고리즘인걸 알아도 접근하기 되게 어려운 문제다. [회의실배정] 과 유사한 문제이니 같이 풀어보면 도움이 될 것 같다. 이 문제는 ‘트럭 한대로 배송할 수 있는 최대 박스 수’ 를 구하기 위해 해당 마을에서 택배를 실을 수 있는 만큼 꽉꽉 담으면 문제를 해결할 수 있을거 같지만 아래와 같은 반례가 있다. // Case:01 1 4 30 // Case:02 2 3 20 3 4 20 따라서 택배의 우선순위를 택배를 보내는 마을을 기준으로 하면 안되고 택배를 받는 마을을 기준으로 해야한다. 택배를 받는 마을을 기준으로 정렬해주고, 정렬 된 순서대로 택배를 실고 내리기 전까지 모든 마을... Read More