[Java] 백준 - 1296번: 팀 이름 정하기 (Bronze I)

배똥회장·2022년 8월 18일
0
post-custom-banner

📝 문제

백준 - 1296번: 팀 이름 정하기 (Bronze I)


📝 풀이

📌 작성 코드

import java.io.*;
public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String name = br.readLine();
		int nameLength = name.length();
        //연두 이름 기준 L, O, V, E 개수
		int L = nameLength - name.replaceAll("L", "").length();
		int O = nameLength - name.replaceAll("O", "").length();
		int V = nameLength - name.replaceAll("V", "").length();
		int E = nameLength - name.replaceAll("E", "").length();
		
        //팀 개수
		int t = Integer.parseInt(br.readLine());
		
        //확률의 가장 작은 숫자 0과 팀 이름의 사전적으로 가장 마지막인 ZZZZZZZZZZZZZZZZZZZZ로 설정
		int max = 0;
		String result = "ZZZZZZZZZZZZZZZZZZZZ";
		
        //팀 명 하나씩 꺼내면서 확률 측정하기
		for (int i = 0; i < t; i++) {
			String team = br.readLine();
			int teamLength = team.length();
			int tL = teamLength - team.replaceAll("L", "").length();
			int tO = teamLength - team.replaceAll("O", "").length();
			int tV = teamLength - team.replaceAll("V", "").length();
			int tE = teamLength - team.replaceAll("E", "").length();
			
			int total = sum(L+tL, O+tO, V+tV, E+tE);
			
			if (max < total) {
				max = total;
				result = team;
			} else if (max == total) {
				if (result.compareTo(team) > 0) {
					result = team;
				}
			}
		}
		
		System.out.println(result);
	}
	
	public static int sum(int l, int o, int v, int e) {
		return ((l+o) * (l+v) * (l+e) * (o+v) * (o+e) * (v+e)) % 100;
	}
}

📌 결과


profile
어쩌면 개발자
post-custom-banner

0개의 댓글