분자생물학 과제로 DNA서열을 받고, 그걸 이용해서 Amino acids sequence를 구하는 걸 받았습니다.
근데 문제는 DNA 서열이 1071글자나 되는 거라.... 공통과정으로 배운 C++로 해결하고자 합니다.
일단 지금 해놓은 건
char 어레이 하나로 DNA 서열 전체를 입력받고,
그걸 이용해서 char 2차원 어레이 char[358][3] 에다가 코돈을 하나씩 넣어놨습니다. (= 입력받은 걸 3글자씩 끊어서 저장했습니다)
이제 3글자씩 끊어놓은 걸 코돈 표를 이용해서 어떤 amino acid인지 확인해야 하는데,
가령 AUG 라는 문자열이 있으면 Met 가 나와야 하고, CAG라는 문자열이 있으면 Gln 이 나와야 합니다.
단, 3글자씩 읽고 중첩이 되면 안 됩니다. 즉, AUGCAG 라는 게 있으면 Met - Gln 이라고 나와야지, AUG, UGC, GCA 이렇게 따로따로 중첩되어 읽으면 안 됩니다.
지금 제가 생각해두는 건 strstr 함수를 이용하는 건데.... 2차원 어레이에 대해선 어떻게 부를지 모르겠네요. 혹은 다른 방법이 있다면 가르쳐주셨으면 합니다.
요약
ABC
CDE
DEF
이런 식으로 저장되어있는 2차원 어레이 gene[358][3]에서
각각 한 줄의 문자열이 특정 문자열인지 아닌지 찾는 방법.