반응형
링크
1) 해결방법
배열로 입력값을 입력받은 후 양옆 두 칸 총 4칸 중 현재 칸보다 값이 크면 PASS, 값이 작다면 두 개의 차이 값을 구하여 가장 작은 차이 값이 View가 되는 값이라고 생각하였고 이를 코드로 구현하였다.
2) 코드
#include "pch.h"
#include <iostream>
#include <algorithm>
int main()
{
//10번 입력값을 받음
for (int j = 0; j < 10; j++) {
int input = 0;
int result = 0;
std::cin >> input;
int array[1000] = { 0 };
for (int i = 0; i < input; i++) {
std::cin >> array[i];
}
//3번째부터 마지막2칸을 제외한 97번째 까지 진행
for (int i = 2; i < input - 2; i++) {
int min = 9999;
int minary[4] = { 0 };
//현재값보다 양옆의 값이 더 크다면 continue
if (array[i] <= array[i - 2] || array[i] <= array[i - 1] || array[i] <= array[i + 1] || array[i] <= array[i + 2]) {
continue;
}
else {
minary[0] = array[i] - array[i - 2];
minary[1] = array[i] - array[i - 1];
minary[2] = array[i] - array[i + 1];
minary[3] = array[i] - array[i + 2];
for (int i = 0; i < 4; i++) {
min = std::min(min, minary[i]); //최소값 구함
}
result = result + min;
}
}
std::cout << "#" << j + 1 << " " << result << std::endl;
}
return 0;
}
반응형
'코딩테스트 > SW expert' 카테고리의 다른 글
[SW Expert] #1244 S/W 문제해결 응용 2일차 - 최대 상금 (0) | 2019.11.27 |
---|---|
[SW Expert] #2806 N-Queen (0) | 2019.11.22 |
[SW Expert] #3752 가능한 시험점수 (0) | 2019.11.17 |
[SW Expert] #1249 S/W 문제해결 응용 4일차 - 보급로 (0) | 2019.11.07 |
[SW Expert] #2819 격자판의 숫자 이어붙이기 (0) | 2019.11.04 |