본문 바로가기
프로그래머스/C

[프로그래머스/C]프로그래머스 Level 1 : 콜라 문제 C언어

by starfish22 2022. 10. 24.
728x90

▶문제 : 코딩테스트 연습 - 콜라 문제 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

▶코드 작성

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int a, int b, int n) {
    int answer = 0;
    while (n >= a) {//콜라를 받을 수 있을 때까지
        answer += n / a * b;//받은 콜라
        n = n / a * b + n % a;//받은 콜라 + 남은 빈병
    }
    return answer;
}

 

▶해석

빈병 n을 a로 나눌 수 있을 때 콜라를 받을 수 있으므로 while문을 n이 a보다 크거나 같을 때까지 반복하였다.

총 받은 콜라 개수 answer에 누적하는데

n / a로 마트에 넘겨준 병 수를 구하고

바꾼 후 받을 수 있는 콜라 병 수 b를 곱한다.

 

콜라를 다 마신 후 다시 빈 병의 개수 n을 구하기 위해

위에서 받은 콜라 병 수와 n을 a로 나눈 나머지 빈병을 더하여 n에 대입하였다.

728x90

댓글