[코딩테스트 C++] 거스름돈

후이재·2020년 10월 13일
0

오늘의 문제

https://www.acmicpc.net/problem/5585

거스름돈

나의 풀이

// 거스름돈
int solution(int n){
    int answer = 0;
    
    int charge = 1000 - n;
    int c[] = {500, 100, 50, 10, 5, 1};
    for(int i=0;i<6;i++){
        answer += charge/c[i];
        charge = charge%c[i];
        if(charge == 0)
            break;
    }
    return answer;
}

풀이 법

  • 정해진 수들을 저장한 배열을 선언하고 큰 수부터 나눠갔다.

모범 답안

int main(){
	int n;
	scanf("%d",&n),n=1000-n;
	printf("%d",n/500+(n%500)/100+(n%100)/50+(n%50)/10+(n%10)/5+n%5);
	return 0;
}

배울 점

  • 그냥 한줄로도 풀이가 가능하다
profile
공부를 위한 벨로그

0개의 댓글