본문 바로가기
반응형

그리디2

백준 1700번 - 멀티탭 스케줄링 (C++) 문제 해결 방법 그리디 알고리즘을 사용하며 현재 멀티탭에 꽂혀 있는 용품 중, 이후에 등장하지 않는것을 뽑고, 이후에 등장하지 않는 용품이 없다면 그중 가장 나중에 사용하는 것 순서로 제거하면 된다. 이를 위하여 입력 시, 벡터에 용품들이 사용되는 순서에 대하여 2차원 배열 형태로 추가로 저장하였다. 아쉬웠던 점 골드 1이라 기대했는데 너무 쉬웠다. 특히 문제의 범위가 너무 좁아 삭제가 들어간 내 코드도 0ms가 나와서 상위권의 좋은 코드들을 보지 못하는 것도 단점이라고 생각한다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 .. 2021. 9. 17.
그리디(Greedy) 알고리즘 Greedy(욕심) 알고리즘이란? 매 선택에서 지금 최선인 답을 선택하는 알고리즘. 다만, 종합적으로 판단하는 것이 아니기 때문에 결과적으로 정답이 아닐 수 있다. 진행 과정 두 숫자를 거쳐서 총 합의 최소를 구하는 과정에서, 정답은 시작->20->30 으로 총합 50이지만, 그리디 알고리즘을 통하여 접근하면 해당 알고리즘은 언제나 "현재 선택지의 상황만"고려하여 답을 찾는 알고리즘이기 때문에 1. 20보다 15가 더 적으니 15로 진행. 2. 100과 200중 100이 더 적으니 100으로 진행. 이런 방식을 통하여 총합 115가 정답으로 도출된다. 2021. 4. 6.
반응형