프로그래머스 코딩 테스트 6. 물 부족
1. 문제 설명 - 디버깅

제한 사항

2. 입출력 예시


3. 코드 수정
class Solution {
public int solution(int storage, int usage, int[] change) {
int total_usage = 0;
for(int i=0; i<change.length; i++){
usage += usage * change[i] / 100;
total_usage += usage;
if(total_usage > storage){
return i;
}
}
return -1;
}
}
- 물의 사용량을 누적하여 총 사용량에 저장하고, 총 사용량이 현재 storage보다 많으면 i, 적으면 -1을 출력
- -1은 물이 부족하지 않고, i의 경우 몇 달 안에 물이 부족하다는 것을 나타냄
- 사용량은 이전 달에 누적되어 적용되어야 함. ex) 10% 증가 후 10% 감소면 (1+0.1)*0.9의 방식으로 계산
- 사용량과 물 사용 증가량을 계속 더해야 하므로 usage += usage * change[i] / 100으로 수정
4. 테스트 결과

5. 채점

Share article