본문 바로가기
코딩 테스트/[c언어] cos pro 2급 기출문제

[No.46] 이제 수학 시험에 모든 걸 건다. 평균 70을 위하여! / cos pro 2급 c언어 기출 문제

by M개발자 2021. 5. 25.
반응형

이제 수학 시험에 모든 걸 건다. 평균 70을 위하여!


문제 설명

 

국어 시험 점수와 영어 시험 점수가 나왔습니다. 이때 국어, 영어, 수학 시험의 평균이 70점 이상이려면 수학 시험 점수가 최소 몇 점이어야 하는지 알고 싶습니다. 

국어 점수 korean과 영어 점수 english가 매개변수로 주어질 때, 평균 점수를 70점 이상 받기 위해 받아야 하는 수학 점수의 최솟값을 return 하도록 solution 함수를 작성했습니다.

그러나, 코드 일부분이 잘못되어있기 때문에 올바르게 동작하지 않으므로 한 줄만 변경해서 올바르게 동작하도록 수정하세요.

 


예시

 

korean english return
70 60 80

수정해야 할 코드

더보기
int solution(int korean, int english) {
    int answer = 0;

    int math = 210 - korean + english;

    if (math > 100) answer = -1;
    else answer = math;

    return answer;
}

 

수정

int math = 210 - korean + english;
→ int math = 210 - (korean + english);

평균 70점이 나오기 위해선 세 점수를 합했을 때 210점이 나와야 한다. 

덧셈 뺄셈 연산자는 우선순위가 같으므로 왼쪽에서부터 차례대로 진행된다.

수정 전 코드는 210점에서 korean만 빼고 english는 더한 값이 math에 저장된다. 210 - 70 + 60 = 200

 

그래서 + english를 - english로 바꾸거나 뺄셈 연산자보다 우선순위가 높은 () 괄호를 사용해 korean과 english를 묶은 뒤 빼는 방법이 있다. 210 - (70 + 60) = 80

 

전체 코드

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int solution(int korean, int english) {
    int answer = 0;

    int math = 210 - (korean + english);

    if (math > 100) answer = -1;
    else answer = math;

    return answer;
}
int main() {
    int korean = 70;
    int english = 60;
    int ret = solution(korean, english);

    printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}

cos pro 2급 기출문제

github

 

구름 goormedu COS PRO 2급 기출문제 - C언어

 

 

 

 

반응형

댓글