https://www.acmicpc.net/problem/1969
1969번: DNA
DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오
www.acmicpc.net
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
String[] input = new String[N];
for (int i = 0; i < N; i++) {
input[i] = br.readLine();
} // end of input
String result = "";
int hd = 0;
char[] dna = { 'A', 'C', 'G', 'T' };
int[] cnt;
for (int j = 0; j < M; j++) {
cnt = new int[4];
for (int i = 0; i < N; i++) {
char c = input[i].charAt(j);
switch (c) {
case 'A' :
cnt[0]++;
break;
case 'C' :
cnt[1]++;
break;
case 'G' :
cnt[2]++;
break;
case 'T' :
cnt[3]++;
break;
}
}
int max = 0;
int index = 0;
for (int i = 0; i < 4; i++) {
if (max < cnt[i]) {
max = cnt[i];
index = i;
}
}
result += dna[index];
hd += N - cnt[index];
}
System.out.print(result + "\n" + hd);
}
}
'OJ' 카테고리의 다른 글
[BOJ] 1032 명령 프롬프트 (JAVA) (0) | 2023.02.17 |
---|---|
[BOJ] 5635 생일 (JAVA) (0) | 2023.02.16 |
[BOJ] 2234 성곽 (JAVA) (0) | 2023.02.14 |
[BOJ] 11478 서로 다른 부분 문자열의 개수 (JAVA) (0) | 2023.02.13 |
[BOJ] 17609 회문 (JAVA) (0) | 2023.02.12 |