그리디(3)
-
[BOJ/Python] #1004번: 어린왕자
https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 어린 왕자는 소혹성 B-664에서 자신이 사랑하는 한 송이 장미를 위해 살아간다. 어느 날 장미가 위험에 빠지게 된 것을 알게 된 어린 왕자는, 장미를 구하기 위해 은하수를 따라 긴 여행을 하기 시작했다. 하지만 어린 왕자의 우주선은 그렇게 좋지 않아서 행성계 간의 이동을 최대한 피해서 여행해야 한다. 아래의 그림은 어린 왕자가 펼쳐본 은하수 지도의 일부이다. 빨간 실선은 어린..
2022.07.27 -
[BOJ/C++] #1789번: 수들의 합
https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. 예제 입력 1 200 예제 출력 1 19 풀이 탐욕법을 이용하면 쉽게 풀 수 있다. N이 최대가 되기 위해선 작은 수부터 더해야 함을 알아야 한다. * int형이 나타낼 수 있는 최대 숫자와 문제가 주는 최대 범위가 맞는지 꼭 확인할 것. #include #include #include us..
2022.07.25 -
[Algorithm] 탐욕법(Greedy) 알고리즘 개념 및 예제
이번 포스팅에선 탐욕법(그리디) 알고리즘에 대해 알아보겠습니다. 개념과 알고리즘을 사용하는 조건을 알아보고, 동전 문제를 통해 활용 예시를 살펴보겠습니다. * 언어는 C++로 진행됩니다. 목차 📃 그리디 알고리즘 개념 및 조건 📃 그리디 알고리즘 예제 - 동전 문제 그리디 알고리즘 개념 및 조건 📌 개념 그리디 알고리즘은 가장 최선의 선택만을 쫒아가는 알고리즘입니다. 다이나믹 프로그래밍의 경우, 다양한 경우들을 하나하나 살펴보면서 최선의 수를 찾고자 했습니다. 그와 달리, 그리디 알고리즘은 오직 눈앞의 최선만을 쫒아 갑니다. 그리디 알고리즘은 Best Solution을 찾기 위한 알고리즘은 아닙니다. 그저 최선을 쫓다보면 결과도 좋겠지 하는 막연한 기대가 구현된 알고리즘이라 할 수 있습니다. 이때문에 현..
2022.07.18