문제출처 : https://www.acmicpc.net/problem/7977
code
#include <iostream>
using namespace std;
char DNA[10000];
int main()
{
char min_index;
int n, min = 10000;
cin >> n;
int A_cnt = 0, C_cnt = 0, G_cnt = 0, T_cnt = 0;
for (int i = 0; i < n; i++)
{
cin >> DNA[i];
if (DNA[i] == 'A')
A_cnt++;
else if (DNA[i] == 'C')
C_cnt++;
else if (DNA[i] == 'G')
G_cnt++;
else
T_cnt++;
}
if (A_cnt < min)
min = A_cnt, min_index = 'A';
if(C_cnt<min)
min = C_cnt, min_index = 'C';
if (G_cnt < min)
min = G_cnt, min_index = 'G';
if (T_cnt < min)
min = T_cnt, min_index = 'T';
cout << min << '\n';
for (int i = 0; i < n; i++)
cout << min_index;
return 0;
}
이 문제에서 최소유사도가 뭔소린지 몰라서 문제를 몇번이나 읽어보고 그랬는데...
알고보니 구재현의 DNA와 크리스마틴의 DNA중 가장 최소로 겹치는 염색체의 수를 말하는거였다. 그걸 알고나니 그냥 풀림..
아무거나 출력해도 된다고했으니 가장최소로 겹치는 염색체만 n개 출력해줘도 된다.