◇ 문제 설명
n일 동안 매일매일의 푱균 기온이 수서대로 들어있는 배열이 있습니다. 이때, A번째 일과 B번째 일 사이에서 A, B번째 일보다 기온이 높았던 날은 총 며치이었는지 구하려 합니다.
n일동안 매일매일의 평균 기온이 순서대로 들은 배열 temperature, temperature의 길이 temperature_len, 두 날짜를 나타내는 자연수 A, B가 매개변수로 주어질때, A번째 일과 B번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return하도록 solution함수를 작성해주세요.
◇ 매개변수 설명
n일동안 매일매일의 평균 기온이 순서대로 들은 배열 temperature, temperature의 길이 temperature_len, 두날짜를 나타내는 자연수 A, B가 solution함수의 매개변수로 주어집니다.
▶ temperature의 원소는 -30이상 50이하인 정수입니다.
▶ temperature_len은 3이상 30이하입니다.
▶ 날짜는 0번째 일부터 시작합니다.
▶ 즉 temperature의 첫번째 원소는 0번째 날, 두번째 원소는 1번째 날 ...을 의미합니다.
▶ A, B는 날짜를 나타내는 정수이며, 0이상 (temperature의 길이 -1)이하 입니다.
▶ A는 B보다 항상 작습니다.
◇ return값 설명
A번째 일과 B번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return해주세요.
◇ 예시
temperature | temperature_len | A | B | return |
[3, 2, 1, 5, 4, 3, 3, 2] | 8 | 1 | 6 | 2 |
◇ 예시 설명
▶ 1번째 날 온도는 2입니다.
▶ 6번째 날 온도는 3입니다.
▶ 두 날짜 사이에서 두날짜보다 기온이 높았던 날은 3번째, 4번째 날입니다.
▶ 따라서 2를 return하면 됩니다.
◇ 초기 내용
◇ 답안
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int temperature[], int temperature_len, int A, int B) {
int answer = 0;
int max = 0;
if (temperature[A] > temperature[B]) {
max = temperature[A];
}
else {
max = temperature[B];
}
for (int i = A; i < B; i++) {
if (max < temperature[i]) {
answer++;
}
}
return answer;
}
int main() {
int temperature[] = {3, 2, 1, 5, 4, 3, 3, 2};
int temperature_len = 8;
int A = 1;
int B = 6;
int ret = solution(temperature, temperature_len, A, B);
printf("solution 함수의 반환 값은 %d 입니다.\n", ret);
}
◇ 답안 힌트
▶ A번째일과 B번째일 중 더 높은 평균기온을 가진 날짜를 구하세요
▶ A번째일과 B번째일 사이의 날짜 중 위에서 구한 평균기온보다 높은 온도가 있는지 확인하고 있으면 answer +1
◇ 답안 풀이
(※ 실행 흐름 순으로 해석됩니다.)
<solution함수 전체를 작성하는 문제입니다.>
int solution(int temperature[], int temperature_len, int A, int B) {
int answer = 0;
//A번째일과 B번째일 중 기온이 높은 날의 온도를 나타내는 변수
int max = 0;
//A번째 일과 B번째일 중 기온이 높은 날 구하기
if (temperature[A] > temperature[B]) {
max = temperature[A];
}
else {
max = temperature[B];
}
//A와 B번째일 사이 날짜 중 max보다 평균 기온이 높은 날의 개수 구하기
for (int i = A; i < B; i++) {
if (max < temperature[i]) {
answer++;
}
}
return answer;
}
◇ 실행결과
◇ 출처
COS PRO 2급 기출문제 - C언어 - 구름EDU
YBM IT에서 시행하는 COS Pro 자격증 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.
edu.goorm.io
'Cospro 2급 > C언어' 카테고리의 다른 글
[6차] 문제3. 단체 유니폼 맞추기 답안 및 풀이 (0) | 2021.05.30 |
---|---|
[6차] 문제2. 종이 나누어 주기 답안 및 풀이 (0) | 2021.05.30 |
[5차] 문제10. 가장 오래 일한 사람을 구해주세요. 답안 및 풀이 (0) | 2021.05.30 |
[5차] 문제9. 시험 등수 구하기 답안 및 풀이 (0) | 2021.05.30 |
[5차] 문제8. 상수도 요금 구하기.(물을 아껴 씁시다) 답안 및 풀이 (0) | 2021.05.26 |
댓글