본문 바로가기

반응형

백준 문제풀이(JAVA)/그리디 알고리즘

(2)
백준 1826번(JAVA) 아래 문제와 매우 비슷하다. 우선순위큐에 객체를 넣어서 객체끼리 비교할 줄 알면 수월하게 풀 수있다. 아래 문제도 같이 참고해서 보면 비슷한 유형이라는걸 알 수 있다. 2021.04.30 - [백준 문제풀이(JAVA)/그리디 알고리즘] - 백준 1781번(JAVA) 백준 1781번(JAVA) 처음엔 이 문제를 그리디 알고리즘에 넣어야 하나, 우선순위 큐 카테고리로 넣어야 하나 고민했다. 근데 뭐 큰 의미없는 거 같아서 걍 그리디 알고리즘에 넣는다. 처음에는 그냥 단순히 마감시 red-tiger.tistory.com 우선 입력값을 거리가 가장 작은게 앞에오도록(우선순위가 크게) 정렬한다. 이중 while문을 사용한다 첫 번째 while문에서는 (현재가지고연료
백준 1781번(JAVA) 처음엔 이 문제를 그리디 알고리즘에 넣어야 하나, 우선순위 큐 카테고리로 넣어야 하나 고민했다. 근데 뭐 큰 의미없는 거 같아서 걍 그리디 알고리즘에 넣는다. 처음에는 그냥 단순히 마감시간이 적은것이 큰 우선순위를 갖도록, 그리고 마감시간이 같다면 컵라면 개수 많이주는걸 우선순위가 크게 우선순위큐에 넣었다. 예제는 잘 통과했는데 바로 틀렸다. 이유는 만약 문제가4개라 할떄 문제번호 1 2 3 4 데드라인 1 1 2 2 컵라면 개수 10 20 100 100 이런 경우에서 자연스럽게 데드라인 1중 컵라면개수가 더 많은 20을 택한다. 그리고 흘러간시간을++해준다. 그 후, 데드라인 2중에서 하나를 택해서 100을 골라서 총 컵라면개수는 120개가 된다. 하지만 사실 처음에 3번을 풀고 그 다음에 4번을 풀면..

반응형