728x90
▶문제 : 코딩테스트 연습 - 콜라 문제 | 프로그래머스 스쿨 (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
'프로그래머스 > C' 카테고리의 다른 글
프로그래머스 Level 1 : 옹알이 (2) C언어 (2) | 2022.10.29 |
---|---|
프로그래머스 Level 1 : 숫자 짝꿍 C언어 (0) | 2022.10.28 |
프로그래머스 Level 1 : 삼총사 C언어 (0) | 2022.10.24 |
프로그래머스 Level 2 : 두 큐 합 같게 만들기 C언어 (0) | 2022.08.23 |
프로그래머스 Level 1 : 성격 유형 검사하기 C언어 (0) | 2022.08.20 |
댓글