반응형 백준 알고리즘12 [cpp 알고리즘] 백준 20364 부동산 다툼 [백준] 20364 부동산 다툼 cpp 풀이알고리즘: 트리https://www.acmicpc.net/problem/20364 문제 요약이진 트리 모양의 땅으로 이루어진 마을이 있다. - 루트 땅 번호는 1이다.- 어떤 땅의 번호가 K라면, 왼쪽 자식 땅의 번호는 2*K, 오른쪽 자식 땅의 번호는 2*K+1이다. 오리들이 땅을 분배받는데,- 맨 처음 오리부터 원하는 땅을 배정받는다. - 한 오리가 원하는 땅 까지 가는 길에 이미 다른 오리가 점유하고 있다면, 그 오리는 땅을 가지지 못한다. 오리가 원하는 땅을 가질 수 있다면 0을, 가질 수 없다면 처음 마주치는 점유된 땅의 번호를 출력하면 된다.풀이 정리(1) 입력받은 근손실 정도를 (오름차순으로) 정렬한다. (2-1) 운동기구 개수 N이 홀수인 경우에.. 2024. 7. 10. [cpp 알고리즘] 백준 20300 서강근육맨 [백준] 20300 서강근육맨 cpp 풀이알고리즘: 그리디 알고리즘, 정렬https://www.acmicpc.net/problem/20300 문제 요약- 헬스장에 있는 N개의 운동기구 중에 하루에 2개의 운동기구로 운동한다. 홀수 개의 운동기구가 있는 경우에는 마지막 PT를 받을 때는 운동 기구를 하나만 사용한다.- 이 때 운동기구마다 근손실이 일어나는 정도가 다르다. PT를 한 번 받을 때의 근손실 정도가 M을 넘지 않도록 하고 싶다. 이때, M의 최솟값을 구하는 문제이다. (운동기구를 두 개 사용해서 PT를 받을 때의 근손실 정도는 두 운동기구의 근손실 정도의 합이다.)풀이 정리(1) 입력받은 근손실 정도를 (오름차순으로) 정렬한다. (2-1) 운동기구 개수 N이 홀수인 경우에는, 근손실 정도가 최댓.. 2024. 7. 9. [cpp 알고리즘] 백준 4396 지뢰 찾기 [백준] 4396 지뢰 찾기 cpp 풀이알고리즘: 구현https://www.acmicpc.net/problem/4396 문제 요약 N*N의 지뢰 판이 주어지고, M개의 지뢰가 있다. - 입력1) 온점(.)은 지뢰가 없고, 별표(*)는 지뢰가 있는 지점이다.- 입력2) 이미 열린 칸은 영소문자x로, 열리지 않은 칸은 온점(.)으로 표시된다. - 출력) (1) 지뢰가 없으면서 열린 칸은 0~8 사이의 숫자, (2) 지뢰가 있는 칸이 열렸으면 지뢰가 있는 모든 칸을 별표(*)로, (3) 다른 모든 지점은 온점(.) 으로 표현해야 한다. 문제를 이해하는 것과 주어진 테스트코드로 이해는 쉬웠으나, 몇 가지 경우에 대해 더 생각해 봐야 한다...😒풀이 정리(1) 우선 N*N의 기본 지뢰 판을 만들고, 온점(.)과.. 2024. 7. 8. [cpp 알고리즘] 백준 1744 수 묶기 [백준] 1744 수 묶기 풀이 그리디 알고리즘, 정렬, 많은 조건 분기 문제 출처: https://www.acmicpc.net/problem/1744 문제 요약 - 길이가 N인 수열이 주어졌을 때, 두 수를 곱하거나 그대로 둘 수 있다. 이 수들을 모두 더한 값들 중 최댓값을 구하면 된다. 풀이 정리 1. 일단 오름차순으로 정렬한다. 2. 숫자 1을 기준으로 3가지 경우로 나뉘어진다. (1) 1보다 작은, 0이거나 음수인 경우 -> 앞쪽(작은 수)부터 두 수를 곱해서 최종 결과 값에 더하면 된다. (2) 1인 경우 -> 곱하는 데 사용하지 않고, 더하면 된다. (3) 1보다 큰 양수인 경우 -> 뒤쪽(큰 수)부터 두 수를 곱해서 최종 결과 값에 더하면 된다. 3. (1)의 경우 혹은 (3)의 경우가 홀.. 2023. 11. 11. 이전 1 2 3 다음 반응형