In this challenge, the task is to debug the existing code to successfully execute all provided test file
처음보는 유형의 문제다.
함수를 구현하는 방식이 아닌 이미 구현된 함수가 제대로 작동하도록 고치는 문제이다!
zigzagSequence란 수열이 있을 때, 수열의 중간까지는 오름차순,
수열의 중간부터 끝까지 내림차순을 형성하는 수열이다.
잘못 된 부분은
int mid = (n + 1)/2-1;
mid값이 (n+1)/2 가 아니라 (n+1)/2 -1 이어야 한다.
int ed = n - 2;
어차피 mid인덱스의 값과 n-1인덱스의 값을 swap하면
n-1인덱스의 값이 제일 작은값이되어 건드릴 필요없다.
ed = ed - 1;
ed값을 줄여야함
void findZigZagSequence(vector < int > a, int n){
sort(a.begin(), a.end());
int mid = (n + 1)/2-1;
swap(a[mid], a[n-1]);
int st = mid + 1;
int ed = n - 2;
while(st <= ed){
swap(a[st], a[ed]);
st = st + 1;
ed = ed - 1;
}
for(int i = 0; i < n; i++){
if(i > 0) cout << " ";
cout << a[i];
}
cout << endl;
}