본문 바로가기

분류 전체보기137

그리디 알고리즘 - 큰 수의 법칙 난이도 : 하 [문제] 동빈이의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 방법이다. 단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다. 예를 들어 순서대로 2, 4, 5, 4, 6으로 이루어진 배열이 있을 때, M이 8이고 K가 3이라고 가정하자. 이 경우 특정한 인덱스의 수가 연속해서 세 번까지만 더해질 수 있으므로 큰 수의 법칙에 따른 결과는 6 + 6 + 6 + 5 + 6 + 6 + 6 + 5인 46이 된다. 단, 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로 간주한다. 예를 들어 순서대로 3, 4, 3, 4, 3으로 이루어진 배열이 있을 .. 2023. 1. 1.
그리디 알고리즘 이론 그리디 알고리즘이란 현재 상황에서 지금 당장 좋은 것을 고르는 방법이다. (탐욕법이라고도 한다.) 합이 21인 5 - 7 - 9 루트가 아닌, 합이 19인 5 - 10 - 4 루트를 선택하게 된다. 즉, 최적의 해를 보장할 수 없는 경우도 있다. 하지만 코딩테스트에서 그리디 문제가 출제가 된다면, 그리디로 얻은 결과가 최적의 해인 경우가 많다. 따라서, 그리디로 풀면 최적의 해가 나오는지 판단하는 능력이 필요하다. 만약 화폐단위가 500, 400, 100이라면 그리디 알고리즘은 적용될 수 없다. 예를 들어, 800원은 그리디 알고리즘에 의해 500+100+100+100로 구성되지만, 실제 해는 400+400이다. 2023. 1. 1.