1. 문제 풀이 아이디어
- 변수 값을 출력하여 변화를 확인하면, 문제가 발생한 부분을 파악할 수 있다.
2. 나의 정답 코드
class Solution {
public int solution(int storage, int usage, int[] change) {
int total_usage = 0;
for(int i=0; i<change.length; i++){
// usage = total_usage * change[i] / 100; // 기존 코드
usage = usage * (100 + change[i]) / 100; // 수정된 코드
total_usage += usage;
if(total_usage > storage){
return i;
}
}
return -1;
}
}
3. 정리
- 기존 코드에서
usage
를 출력할 때0
이 출력된다.
usage
를 계산하는 부분에서total_usage
가 아닌usage
를 곱하고,change[i]
에100
을 더한 후 계산하여 올바른usage
값을 구한다.
Share article