Python11 정올 C++ - 해밀턴 순환회로(1681) DFS, 백트래킹 https://beta.jungol.co.kr/problem/1681?cursor=eyJwcm9ibGVtc2V0Ijo4LCJmaWVsZCI6MiwiaWR4IjoxfQ== 1. 더 이상 탐색하지 않아도 되는 경우를 파악한다. 1) 이동 비용이 구했던 최솟값(ans)보다 크다면 return 2) 갔던 장소는 또 다시 가지 않는다. #pragma warning(disable:4996) #include #include using namespace std; int graph[15][15], n; int freq[15], ans = 0x7fffffff; void dfs(int level, int cost, int cnt) // 장소, 비용, 이동 횟수 { if (ans < cost) return; // 비용이 구했.. 2023. 5. 2. 백준 C++ - 상자넣기 (1965번) DP https://www.acmicpc.net/problem/1965 1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 www.acmicpc.net 1. 현재 상자보다 크기가 작으면서 담을 수 있는 상자의 개수의 최대값을 구합니다. #pragma warning(disable:4996) #include #include using namespace std; int arr[1001]; int DP[1001] = { 0, }; int n, ans; int main() { int n; scanf("%d", &n); for (int i = 1; i 2023. 4. 29. 백준 C++ - 센서(2212) 탐욕법 https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 1. 집중국이 한 개일 때 최대 수신 거리를 구합니다. 2. 센서 사이의 거리를 구해 temp 배열에 저장합니다. 3. 센서 사이의 거리가 큰 순서대로 정렬합니다. (내림차순) 4. 집중국 - 1만큼 최대 수신 거리에서 센서 사이의 거리를 뺍니다. 5. 끝 #pragma warning(disable:4996) #include #include using namespace s.. 2023. 4. 18. 백준 C++ - 도서관(1461) 그리디 알고리즘 https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 1. 음수 배열은 내림차순, 양수 배열은 오름차순으로 정렬 2. 배열의 요소 개수가 들고 갈 수 있는 책의 배수가 아니라면 횟수를 미리 더하고 시작 지점을 따로 처리 3. 시작 지점에서부터 들고 갈 수 있는 책의 개수만큼 증가하며 원점에서 책까지 거리만큼 왔다 갔다 하기 때문에 배열에 있는 거리에다 곱하기 2를 하여 더한다. 4. 마지막엔 두 배열 끝 요소를 비교하여 큰 요소를 정답 변수에서 한 번 뺀.. 2023. 4. 11. C++ - 아이템 줍기 (BFS) https://school.programmers.co.kr/learn/courses/30/lessons/87694?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀긴 풀었지만 쓸데없는 for문을 한 번 더 돌려 그다지 마음에 들지 않는 풀이법입니다. 1. 입력대로 사각형을 2차원 배열에 그리면 캐릭터가 디귿 모양으로 움직일 수 없으므로 사각형을 두 배로 크게 키워서 그립니다. 1번 과정만 잘 수행하면 그다음부턴 너비 우선 탐색으로 목적지까지 찾아가면 됩니다. #pragma warning(disable:4996) #include #i.. 2023. 4. 9. 백준 C++, PYTHON - 예산 (이진 탐색) https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 1. left = 1, right = 예산 요청 배열 중 최대값 2. mid = 상한액 역할 3. 상한액이 요청 예산보다 낮거나 같으면 그대로 더하고, 높다면 상한액을 더한다. 4. 총 합이 한정된 예산보다 크면 right = mid - 1, 예산보다 적으면 le = mid + 1 PYTHON import sys n = int(sys.stdin.readline().strip()) cost =.. 2023. 3. 29. 이전 1 2 다음