18번 문제   

 

 

    내가 풀이한 답   

  순회(for)를 돌면서 측정값(a)이 m값을 넘으면 alarm값을 증가시켜주고 거기다 max값보다 크면 max값도 갱신시켜준다. 그리고 m값 보다 작으면 alarm값을 0으로 초기화시켜준다.  

#include <stdio.h>

int main(int argc, char** argv) {
	//freopen("input.txt", "rt", stdin);
	
	int n, m, i, a, max=-1, alarm = 0;
	
	scanf("%d", &n);
	scanf("%d", &m);
	
	for(i=0; i<n; i++){
		scanf("%d", &a);
		if(a>m) {
			alarm++;
			if(alarm > max) max = alarm;
		}
		else alarm = 0;
	}
	
	printf("%d", max);
	return 0;
}

 

 결과는 통과하였다.

 

 

 

    사이트의 답안   

 

#include<stdio.h>			
int main(){
	//freopen("input.txt", "rt", stdin);
	int n, val, i, num, cnt=0, max=-2147000000;
	scanf("%d %d", &n, &val);
	for(i=1; i<=n; i++){
		scanf("%d", &num);
		if(num>val) cnt++;
		else cnt=0;
		if(cnt>max) max=cnt;
	}
	printf("%d\n", max);		
	return 0;
}
	

 

  사이트의 답도 논리적으로 같았다.

'알고리즘 & 자료구조 > 기초 다잡기' 카테고리의 다른 글

20. 가위 바위 보  (0) 2020.09.07
19. 분노 유발자  (0) 2020.09.07
17. 선생님 퀴즈  (0) 2020.09.06
16. Anagram(아나그램)  (0) 2020.09.06
15. 소수의 개수  (0) 2020.09.06