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

[No.51] 저는 따뜻한 날이 좋아요 / cos pro 2급 c언어 기출 문제 6차 문제 1

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

6차 문제 1


문제 설명

 

n일 동안 매일매일의 평균 기온이 순서대로 들어있는 배열이 있습니다. 이때, A 번째 일과 B 번째 일 사이에서 A, B 번째 일보다 기온이 높았던 날은 총 며칠이었는지 구하려 합니다.

n일 동안 매일매일의 평균 기온이 순서대로 들은 배열 temperature, temperature의 길이 temperature_len, 두 날짜를 나타내는 자연수 A, B가 매개변수로 주어질 때, A 번째 일과 B 번째 일 사이에서 두 날짜보다 기온이 높았던 날은 총 며칠인지 return 하도록 solution 함수를 작성하세요.


예시

 

temperature temperature_len A B return
[3, 2, 1, 5, 4, 3, 3, 2] 8 1 6 2

코드 해석 및 전체 코드

 

A날과 B날 사이에서 / 두 날짜보다 / 기온이 높았던 날은 총 며칠인지 구해야한다.

answer에는 반환할 값으로, 기온이 높았던 날의 수가 들어간다. 

첫번째 for문은 A날과 B날 사이만큼 반복해야하므로, 초깃값을 A, 조건식은 B보다 작을 때까지로 준다. A ~ B - 1

if문에선 두 날짜보다 수가 높을 경우 answer를 증가해야한다.

그러므로 2가지 조건인 A보다 크고 B보다 크다는 조건이 들어가야한다. 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int temperature[], int temperature_len, int A, int B) {
	int answer = 0;
	for (int i = A; i < B; i++) {
		if (temperature[i] > temperature[A] && temperature[i] > temperature[B]) 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);
}

 


cos pro 2급 기출문제

github

 

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

 

 

반응형

댓글