백준 1561 C++ 처음 이 문제를 보곤 priority_queue가 떠올랐다. 실제로 pq로 구현을 했지만 시간 초과가 나왔었다.그 다음으로 떠올랐던 방법은 최소 공배수를 구해서 아이들 수에 나누는 방식이었다. 이 방법도 동일하게 시간 초과가 나왔다. 그래서 어떤 방법을 사용해야하는지 감이 잡히지 않아. 다른 글들을 찾아보았고 생각지도 못한 방법으로 문제를 풀었다. 일단 n이라는 아이들이 모두 탈 수 있는 최소의 시간을 구한다.이 n이라는 시간에 몇개의 놀이기구를 탈 줄 모른다. 100개 중 99개를 n이라는 시간에 탑승할 가능성도 있다.여기서 우린 n번째 아이가 몇번 놀이기구를 탑승하는지 알아야한다.그래서 최소시간 - 1을 해서 그 전에 몇명이 탔는지 찾아낸다. 다음으로 n번째 아이를 찾기 위해서 %연산자를 통해 현재 .. 2025. 2. 17. 이전 1 다음