백준/백준-C++

1969번: DNA

Beabletoet 2017. 5. 24. 12:38

#include <iostream>

#include <algorithm>

#include <string>

using namespace std;

int main()

{//ACGT

int n, m, acgt[4] = { 0, 0, 0, 0 }, hd = 0;

cin >> n >> m;

char** dna = new char*[n];

for (int i = 0; i < n; ++i)

dna[i] = new char[51];

char answer[51];

answer[m] = '\0';

for (int i = 0; i < n; ++i)

cin >> dna[i];

for (int i = 0; i < m; ++i)

{

for (int j = 0; j < n; ++j)

switch (dna[j][i])

{

case 'A': ++acgt[0]; break;

case 'C': ++acgt[1]; break;

case 'G': ++acgt[2]; break;

case 'T': ++acgt[3];

}

if (acgt[0] >= acgt[1] && acgt[0] >= acgt[2] && acgt[0] >= acgt[3])

{

answer[i] = 'A';

hd += (n - acgt[0]);

}

else if (acgt[1] >= acgt[2] && acgt[1] >= acgt[3])

{

answer[i] = 'C';

hd += (n - acgt[1]);

}

else if (acgt[2] >= acgt[3])

{

answer[i] = 'G';

hd += (n - acgt[2]);

}

else

{

answer[i] = 'T';

hd += (n - acgt[3]);

}

for (int j = 0; j < 4; ++j)

acgt[j] = 0;

}

cout << answer << '\n' << hd;

}