티스토리 뷰
풀이 1 : 트럭을 1번도 이동하지 않는 풀이
단순하게 simulation만 계속 호출하면 어느정도 사용자가 자전거를 가져다 놓는 상황을 예측할 수 있습니다.
놀랍게도 합격권 (CS 제외)
시나리오 1 : 1089 / 1440
시나리오 2 : 9133 / 10800
풀이 2 : 최대한 골고루 자전거를 배치하는 것이 최적을 기대할 수 있는 풀이
한번에 모든 트럭을 적절히 분배하는 것은 매우 구현이 힘듬을 이용합니다.
단 두개의 트럭만 움직인다고 가정하고, 가장 자전거가 없는 칸에 자전거를 놓고, 트럭이 자전거가 많은 칸을 들려 자전거를 가지고 가는 시뮬레이션 풀이를 생각해볼 수 있습니다.
1. 가장 자전거가 적은 칸에서 BFS 후 자전거를 가지고 있는 트럭을 찾음 -> 자전거 내리기
2. 가장 자전거가 많은 칸에서 가장 가까운 트럭 찾음 -> 자전거 채우기
3. 반복
시나리오 1 : 1077 / 1440
시나리오 2 : 10322 / 10800
풀이 3 : 풀이 2에 시나리오 1, 2 간의 자전거 개수 수정
풀이 2에서 효율성 테스트는 높은 점수를 얻을 수 있었으나, 정확성에서 문제가 발생했습니다.
풀이 2의 큰 아이디어는 그대로 가져가면서 시나리오 2의 트럭이 자전거를 가져가는 개수를 시나리오 1의 개수 / 2로 변경해 불필요한 자전거 이동을 줄여봤습니다.
시나리오 1 : 1079 / 1440
시나리오 2 : 10322 / 10800
'PS > Programmers' 카테고리의 다른 글
[Programmers] Level 3 : 풍선 터트리기 (1) | 2022.12.07 |
---|---|
[Programmers] Level 3 : 정수 삼각형 (0) | 2022.12.07 |
[Programmers] Level 3 : 최고의 집합 (0) | 2022.12.06 |
Programmers Level 2 :: 연속 부분 수열 합의 개수 (0) | 2022.10.15 |
Programmers Level 2 :: 혼자 놀기의 달인 (0) | 2022.10.15 |