◇ 문제 설명
주스 1잔을 만드려면 사과 3개와 당근 1개가 필요합니다. 그런데 키우는 토끼에게 먹이를 주기 위해 사과와 당근 종류에 상관 없이 k개를 빼놓으려고 합니다. 주스는 최대한 많이 만들수록 좋습니다.
사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 주어질때 주스를 최대 몇 잔 만들 수 있는지 return하도록 solution함수를 작성했습니다. 그러나 코드 일부분이 잘못되어 있기 때문에 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요
◇ 매개변수 설명
사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 solution함수의 매개변수로 주어집니다.
▶ 사과 개수 num_apple과 당근 개수 num_carrot은 0이상 20이하인 정수입니다.
▶ 토끼에게 줄 먹이 개수 k는 0이상 'num_apple + num_carrot'이하인 정수입니다.
◇ return값 설명
주스를 최대 몇 잔 만들 수 있는지 return해주세요.
◇ 예시
num_apple | num_carrot | k | return | |
예시 #1 | 5 | 1 | 2 | 1 |
예시 #2 | 10 | 5 | 4 | 2 |
◇ 예시 설명
예시 #1
사과 2개를 먹이로 주면 사과 3개, 당근 1개가 남습니다. 남은 재료로 주스를 1잔 만들 수 있습니다.
예시 #2
사과 2개와 당근 2개를 먹이로 주면 사과 8개, 당근 3개가 남습니다. 남은 재료로 주스를 2잔 만들 수 있습니다.
◇ 초기 내용
◇ 답안
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int num_apple, int num_carrot, int k) {
int answer = 0;
if(num_apple < 3 * num_carrot)
answer = num_apple / 3;
else
answer = num_carrot;
num_apple -= 3 * answer;
num_carrot -= answer;
for(int i = 0; k - (num_apple + num_carrot + i) > 0; i++)
if(i % 4 == 0)
answer--;
return answer;
}
int main() {
int num_apple1 = 5;
int num_carrot1 = 1;
int k1 = 2;
int ret1 = solution(num_apple1, num_carrot1, k1);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret1);
int num_apple2 = 10;
int num_carrot2 = 5;
int k2 = 4;
int ret2 = solution(num_apple2, num_carrot2, k2);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret2);
}
◇ 답안 풀이
(※ 실행 흐름 순으로 해석됩니다.)
int solution(int num_apple, int num_carrot, int k) {
int answer = 0;
if(num_apple < 3 * num_carrot)
answer = num_apple / 3;
else
answer = num_carrot;
num_apple -= 3 * answer;
num_carrot -= answer;
for(int i = 0; k - (num_apple + num_carrot + i) > 0; i++)
if(i % 4 == 0)
answer--;
return answer;
}
◇ 실행결과
◇ 출처
COS PRO 2급 기출문제 - C언어 - 구름EDU
YBM IT에서 시행하는 COS Pro 자격증 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.
edu.goorm.io
'Cospro 2급 > C언어' 카테고리의 다른 글
[3차] 문제8. TV애청자 A씨 답안 및 풀이 (0) | 2021.05.31 |
---|---|
[6차] 문제10. 사과 박스 무게의 불량 검사 답안 및 풀이 (0) | 2021.05.30 |
[6차] 문제9. 난 양말색이 달라도 잘 신는 착한 어린이 답안 및 풀이 (0) | 2021.05.30 |
[6차] 문제8. 주어진 수와 뒤집은 수의 차 구하기 답안 및 풀이 (0) | 2021.05.30 |
[6차] 문제7. 의자와 책상을 사고싶어요. 답안 및 풀이 (0) | 2021.05.30 |
댓글