728x90
반응형
N(3≤N≤100)개의 정수로 이루어진 수열X를 “뒤집기정보”에 의해 변환한 최종 결과를 출력하는 프로그램을 작성하시오.
<입력값>
- 수열의 길이(N)
- 수열
- 뒤집기 정보의 개수(M): 뒤집을 구간의 개수
- 뒤집기 구간 정보: M*2개
정답코드
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
void swap(int *X,int stt,int end){
int rep = (end - stt)/2+1,tmp;
for(int i=0;i<rep;i++){
tmp = X[stt+i];
X[stt+i] = X[end-i];
X[end-i] = tmp;
}
}
int main(){
int N,X[100],rvs_cnt;
scanf("%d",&N);
for(int i=0;i<N;i++)scanf("%d",&X[i]);
scanf("%d",&rvs_cnt);
int *rvs_arr = (int*)malloc(sizeof(int)*(rvs_cnt*2));
for(int j=0;j<(rvs_cnt*2);j+=2)scanf("%d %d",&rvs_arr[j],&rvs_arr[j+1]);
for(int i=0;i<rvs_cnt*2;i+=2) swap(X,rvs_arr[i],rvs_arr[i+1]);
for(int i=0;i<N;i++)printf(" %d",X[i]);
}
728x90
반응형
'Datastructure > [Algorithm]' 카테고리의 다른 글
[자료구조] 배열 연습문제(3): 행렬 (0) | 2022.01.19 |
---|---|
[자료구조] 연결리스트의 활용(1) : 위치 변환 (0) | 2022.01.17 |
[자료구조] 재귀 (0) | 2022.01.11 |
[자료구조] 분석 :비트 행렬 분석 알고리즘 (0) | 2022.01.10 |
[자료구조] 배열 연습문제(1): 역순 정렬 (0) | 2022.01.08 |