코딩테스트/프로그래머스
[프로그래머스] 콜라 문제 (C++)
Deff_a
2024. 3. 18. 17:35
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
이 문제는 빈 병 a개를 가져다주면 콜라 b병을 주는 마트가 있을 때, 빈 병 n개를 가져다주면 몇 병을 받을 수 있는지 계산하는 문제이다
빈 콜라 갯수, 마트에서 받은 콜라 갯수를 저장하는 int형 변수를 선언하고
더이상 마트에 가져다줄 빈 콜라 병이 없을 때까지 반복해 마트에서 받은 콜라의 총 갯수를 구했다.
풀이
#include <string>
#include <vector>
// https://school.programmers.co.kr/learn/courses/30/lessons/132267#
using namespace std;
int solution(int a, int b, int n) {
int answer = 0, coke = 0 , emptyCoke= 0;
while(true){
emptyCoke = n; // 빈 콜라 병 갯수 저장
coke = (emptyCoke / a) * b; // 마트에서 받은 콜라 갯수
answer += coke; // 받은 콜라 ++
emptyCoke %= a; // 마트에 전달하지 않은 빈 콜라 병 갯수
n = emptyCoke + coke; // 현재 가지고 있는 콜라 갯수
if(n / a == 0) {break; } // 더 이상 마트에 전달할 콜라가 없다면 break;
}
return answer;
}