728x90
반응형
소스코드
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define SIZE 101
int N, minNum, maxNum;
int block[SIZE];
void initData();// 초기화 및 초기 입력
void upDownTest();//올라가기, 내려오기
int main(int argc, char** argv)
{
int test_case;
int T;
scanf("%d", &T);
for (test_case = 1; test_case <= T; ++test_case)
{
initData();
upDownTest();
printf("#%d %d %d\n", test_case, minNum*-1, maxNum);
}
return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
void initData() {
N = 0;
minNum = 0;
maxNum = 0;
memset(block, 0, sizeof(block));
scanf("%d", &N);
for (int n = 0; n < N; n++) {
scanf("%d", &block[n]);
}
}
void upDownTest(){
for (int i = 0; i < N-1; i++) {
int num = block[i] - block[i + 1];
if(num<=0)minNum = minNum > num ? num : minNum;
else if(num>=0) maxNum = maxNum < num ? num : maxNum;
}
}
설계
- 기본적으로 올라가는 수는 음수로 나오고
- 내려가는 수는 양수로 나오는 점을 판별함
- 그것을 기준으로 대소 비교해서 데이터를 뽑아냄
- 음수의 경우 오르막수
- 양수의 경우 내리막수
실수
- 실수 없음
문제 링크
원본
728x90
반응형
'알고리즘 모음집 > New 알고리즘' 카테고리의 다른 글
2021.10.29_9997-미니멀리즘시계 (0) | 2021.10.29 |
---|---|
2021.10.28_4406-모음이보이지않는사람 (0) | 2021.10.29 |
2021.10.24_1234-비밀번호 (0) | 2021.10.24 |
2021.10.24_5601-쥬스나누기 (0) | 2021.10.24 |
2021.10.22_3431-준환이의운동관리 (0) | 2021.10.22 |
댓글