728x90
링크
https://www.acmicpc.net/problem/9237
난이도(solved.ac 참고)
실버5
풀이
좀 허무했다. 처음에 내가 너무 어렵게 생각했는데, 이게 실버5가 맞나..? 라는 생각이 들어서 일단 접어뒀다가 다시 풀고 금방 맞았다.
이 문제에서의 핵심은, 총 걸리는 시간은 배열 내 최대값 + 그 인덱스의 값이기 때문에, 큰 값을 가장 앞에 둬야 된다는 것이다. 큰 값이 뒤에 있다면, 이미 인덱스가 많이 증가한 상태이기 때문에 결국 최종 걸리는 시간은 더 길어지게 된다.
t 배열에 각자 다 자라는데 며칠이 걸리는지에 대한 값을 넣었고, 그 값을 내림차순으로 정렬했다. 그렇게 되면, 다 자라는 데 오래 걸리는 묘목을 앞 순서에 배치시켜서 묘목이 자라는 데 걸리는 시간 외에, 그 묘목을 심기까지의 시간은 최소화시킬 수 있다.
for문을 돌면서, 첫 묘목을 심는 날이 1일이기 때문에 배열 + 인덱스에 1을 더해줬고, 모든 묘목이 자라고 난 다음 날에 이장님을 초대하므로 1을 더해주는 값을 최종적으로 출력했다.
'CS > 알고리즘' 카테고리의 다른 글
[Python] BOJ(백준) 14241번 - 슬라임 합치기 (0) | 2021.06.28 |
---|---|
[Python] BOJ(백준) 2217번 - 로프 (+ sys.stdin.readline의 중요성) (0) | 2021.06.28 |
[Python] BOJ(백준) 11399번- ATM (0) | 2021.06.27 |
[Python] 최단 거리 구하기(BFS) (0) | 2021.06.01 |
[Python] 친구 관계(DFS) (0) | 2021.06.01 |