Untitled

                Never    
C
       
#include <stdio.h>
#include <stdint.h> 

//global scope data
#define DATA_SET_CAPACITY 1000000u

char nucleotideEntered[DATA_SET_CAPACITY];
int nucleotideNumber[DATA_SET_CAPACITY];
int codon[DATA_SET_CAPACITY];

size_t nucleotideEnteredSize = 0;
size_t nucleotideNumberSize = 0;
size_t codonSize = 0;

int main() {
	char userInput;
	int indexNucleotide = 0;

	while ((userInput = getchar()) != EOF && nucleotideEnteredSize < DATA_SET_CAPACITY)
		nucleotideEntered[nucleotideEnteredSize++] = toupper(userInput);

	for (int index = 0; index < nucleotideEnteredSize; ++index) {
		if (nucleotideEntered[index] == 'A') {
			nucleotideNumber[nucleotideNumberSize++] = 0;
		}
		else if (nucleotideEntered[index] == 'C') {
			nucleotideNumber[nucleotideNumberSize++] = 1;
		}
		else if (nucleotideEntered[index] == 'G') {
			nucleotideNumber[nucleotideNumberSize++] = 2;
			}
		else if(nucleotideEntered[index] == 'T') {
			nucleotideNumber[nucleotideNumberSize++] = 3;
		}
	}

	for (int index = 0; index < nucleotideNumberSize; ++index) {
		if (index % 3 == 0) {
			codon[codonSize++] = (nucleotideNumber[indexNucleotide++] * 4 + nucleotideNumber[indexNucleotide++]) * 4 + nucleotideNumber[indexNucleotide++];
		}
	}

	for (int index = 0; index < codonSize; ++index) {
		printf("%d ", codon[index]);
	}

}

Raw Text