반응형
다이어트하는 A 씨의 추가 운동 여부 알려주기
문제 설명
열량 적힌 식단표가 있습니다.
다이어트를 하는 A씨는 오늘 먹는 열량이 그동안 먹은 식단이 열량 중 최솟값보다 큰 경우 운동을 하여 그 차이만큼을 소모합니다.
식단의 열량을 담고 있는 배열 calorie, calorie의 길이 calorie_len이 매개변수로 주어질 떄, 운동으로 소모하는 총열량을 return 하도록 solution 함수를 작성했습니다.
그러나, 코드 일부분이 잘못되어있기 때문에 올바르게 동작하지 않으므로 한 줄만 변경해서 올바르게 동작하도록 수정하세요.
예시
calorie | calorie_len | return |
[713, 665, 873, 500, 751] | 5 | 459 |
수정해야할 코드
더보기
int solution(int calorie[], int calorie_len) {
int min_cal = 0;
int answer = 0;
for(int i=0; i<calorie_len; i++) {
if(calorie[i] > min_cal)
answer += calorie[i] - min_cal;
else
min_cal = calorie[i];
}
return answer;
}
수정
int min_cal = 0; → int min_cal = calorie[0]; |
배열 안에서 최솟값을 구할 경우 초깃값으로 배열 0을 준다.
코드 해석 및 전체 코드
min_cal ) 칼로리의 최솟값을 담을 변수로, 초깃값을 배열 0방으로 준다.
answer ) 운동으로 소모하는 총열량을 반환할 변수
for ) 0 ~ calorie_len -1까지 반복한다.
if )
칼로리 i가 min_cla보다 클 경우 answer에 칼로리 i - min_cal을 더한다.
칼로리 i가 min_cla보다 작을 경우 min_cal의 값으로 바꾼다.
i | calorie | if | if문 만족 시 answer |
if문 만족하지 않을 시 min_cal |
0 | 713 | 713 > 0 | = 713 | |
1 | 665 | 665 > 713 | = 665 | |
2 | 873 | 873 > 665 | + 208 | |
3 | 500 | 500 > 665 | = 500 | |
4 | 751 | 751 > 500 | + 251 |
answer에는 208과 251이 더해져 총 459이다.
그래서 운동으로 소모하는 총열량은 459이다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int calorie[], int calorie_len) {
int min_cal = calorie[0];
int answer = 0;
for (int i = 0; i < calorie_len; i++) {
if (calorie[i] > min_cal)
answer += calorie[i] - min_cal;
else
min_cal = calorie[i];
}
return answer;
}
int main() {
int calorie[] = { 713, 665, 873, 500, 751 };
int ret = solution(calorie, 5);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
구름 goormedu COS PRO 2급 기출문제 - C언어
[4차] 문제5) 다이어트하는 A씨의 추가 운동 여부 알려주기
반응형
'코딩 테스트 > [c언어] cos pro 2급 기출문제' 카테고리의 다른 글
[No. 37] 오른 점수와 떨어진 점수 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.21 |
---|---|
[No. 36] 여러분이 열심히 모은 point, 돌려 드립니다. / cos pro 2급 c언어 기출 문제 (0) | 2021.05.20 |
[No.34] 조교의 수 구하기 / cos pro 2급 c언어 기출 문제 (0) | 2021.05.19 |
[No.33] 획득 점수 구하기. 도박은 안돼요. / cos pro 2급 c언어 기출 문제 (0) | 2021.05.19 |
[No.32] 시험 합격자가 몇 명이지? / cos pro 2급 c언어 기출 문제 (1) | 2021.05.18 |
댓글