아직 계정이 없으신가요? 회원가입

Dev. Talk

[인증평가(6차) 기출] 염기서열 이렇게 풀면 안되나요..?

회원사진tpgml8365
86 views2023-05-12 02:43

import java.util.*;
import java.io.*;


public class Main
{
    public static void main(String args[]) throws IOException
    {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(bf.readLine());

        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        String[][] dna = new String[n][m];
        HashSet<String> dna_set = new HashSet<>();
        int max_cnt = Integer.MIN_VALUE;;

        for(int i=0; i<n; i++) {
            String str = bf.readLine();
            dna[i] = str.split("");
        }

        for(int i=0; i<m; i++) {
            for(int j=0; j<n; j++) {
                if(dna[j][i].equals(".")) continue;
                dna_set.add(dna[j][i]);
            }
            max_cnt = Math.max(max_cnt, dna_set.size());
            dna_set = new HashSet<>();
        }

        System.out.print(max_cnt);
    }
}

주어진 염기서열의 글자순서별로 필요한 핵염기를 카운트해서 가장 많이 필요한 갯수를 출력하는 방식으로 풀면 안되나요?