본문 바로가기

cospro2급/cospro_3차

2021-05-16

cospro 7번 문제

남은 재료로 주스 만들기

 

문제 설명

주스 1잔을 만들려면 사과 3개와 당근 1개가 필요하다. 그런데 키우는 토끼에게 먹이를 주기 위해 사과와 당근 종류에 상관없이 k개를 빼놓으려고 한다. 주스는 최대한 많이 만들수록 좋다.

사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 주어질 때 주스를 최대 몇 잔 만들 수 있는지 return하는 solution 함수를 완성한다.

 

매개변수 설명

사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 solution 함수의 매개변수로 주어진다.

  사과 개수 num_apple과 당근 개수 num_carrot은 0 이상 200 이하인 정수이다.

   토끼에게 줄 먹이 개수 k는 0 이상 'num_apple+num_carrot' 이하인 정수이다.

 

return 값 설명

주스를 최대 몇 잔 만들 수 있는지 return 한다.

 

예시

 

예시 설명

예시 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);
}

 

코드 설명

#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) 	//주스는 사과 3개, 당근 1개로 만든다.
        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--; 	//나머지가 0이면 만들 수 있는 주스의 수가 하나 준다.
    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);
}

 

주스는 사과 3개와 당근 1개로 이루어지기 때문에 사과 : 당근 = 1 : 3이다.  당근1 = 사과3 이다.

 

 

 

goorm

구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다.

www.goorm.io

 

'cospro2급 > cospro_3차' 카테고리의 다른 글

2021-05-16  (0) 2021.05.16
2021-05-15  (0) 2021.05.15
2021-05-15  (0) 2021.05.15
2021-05-14  (0) 2021.05.14
2021-05-13  (0) 2021.05.13