반응형
https://www.acmicpc.net/problem/3213
소스코드
코드가 길어 깃헙 소스코드 링크를 올립니다 !
풀이
★ 첨에 쉬운 문제라고 생각해서 푸는데, 문제가 계속 안풀려 구글링 해봤더니 번역이 조금 헷갈리게 되어 있었습니다 !
문제의 마지막 문단에 "모든 친구들이 정확히 한 조각씩 피자를 가져가야 한다"는 말은 예를 들어
ex) 1/2, 3/4와 같이 주어진 경우, 피자 한 판과 나머지 1/4이 필요한 것이 아니라, 피자 2판에서 각각 1/2, 3/4씩 먹어야 한다는 것입니다 !
★ 위의 조건을 토대로 풀이를 하면 1/4은 3/4와 합쳐서 피자 한판을 통으로 처리할 수 있습니다. 또한 1/2은 1/4 2개와 함께 한 판으로 처리할 수 있습니다 !
★ 그 후 남은 양은 다른 조각과 함께 처리할 수 없는 것이기에 각각의 피자가 필요로 하게 됩니다.
★ 이 때 피자 조각을 제거하는 순서 (while)이 중요합니다. 그 이유는 1/4과 3/4를 먼저 처리하는 결과와 1/2와 1/4 2개를 먼저 처리하는 결과가 서로 다르게 나오기 때문입니다.
후기
- 실버 4인데 상당히 애를 먹은 문제였던 거 같습니다. 구현하는 부분보다 문제를 이해하는 게 조금 더 힘들었던 거 같네요 !
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 20186번: 수 고르기 (Python) (0) | 2023.08.09 |
---|---|
[백준 알고리즘] 9237번: 이장님 초대 (Python) (0) | 2023.08.09 |
[백준 알고리즘] 1246번: 온라인 판매 (Python) (0) | 2023.08.08 |
[백준 알고리즘] 20937번: 떡국 (Python) (0) | 2023.08.07 |
[백준 알고리즘] 20413번: MVP 다이아몬드 (Easy) (Python) (0) | 2023.08.07 |