티스토리 뷰

 

 

구름에듀 3차 7번 문제

 

 

 

 

 

 


 

 

 

 

 

주어진 코드

#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)
        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);
}

 

결과

  num_apple num_carrot_len k return
예시 #1 5 1 2 1
예시 #2 10 5 4 2

 

 

 

 

 

 

 

 


 

 

 

 

 

 

GroomEdu

 

goorm

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

www.goorm.io

 

댓글