1672
#include <stdio.h>
// 염기 서열 인덱스 구하기 메서드
int dna_index (char dna){
switch (dna)
{
case 'A':
return 0;
break;
case 'G':
return 1;
break;
case 'C':
return 2;
break;
case 'T':
return 3;
break;
default:
break;
}
return -1;
}
int main(void){
// 염기 서열 해독을 위한 표
char dna_list [4][4] = {
{'A', 'C', 'A', 'G'},
{'C', 'G', 'T', 'A'},
{'A', 'T', 'C', 'G'},
{'G', 'A', 'G', 'T'}};
// 염기 서열 길이
int num;
scanf("%d", &num);
// 염기 서열 입력
char dna [num];
scanf("%s", dna);
// 염기 서열 해독
for(int k = num-1; k > 0; k--){
char pre_dna = dna[k-1]; // 이전 염기 (An-1을 행)
char cur_dna = dna[k]; // 현재 염기 (An을 열)
int i=dna_index(pre_dna), j=dna_index(cur_dna);
dna[k] = 0; // 현재 염기를 비우고
dna[k-1] = dna_list[i][j]; // 해독한 염기를 이전 염기에 넣기
}
// 해독된 최종 염기 출력
printf("%s", dna);
return 0;
}