Problem Solving/Baekjoon
[백준] 1296 팀 이름 정하기 - Implementation / Java
graycode
2025. 5. 4. 20:01
• 문제 링크
https://www.acmicpc.net/problem/1296
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int[] arr = new int[26];
for (char c : br.readLine().toCharArray()) arr[c - 'A']++;
String res = "[";
int n = Integer.parseInt(br.readLine()), max = -1;
while (n-- > 0) {
int[] tmp = arr.clone();
String s = br.readLine();
for (char c : s.toCharArray()) tmp[c - 'A']++;
int i = calc(tmp);
if (max < i) {
max = i;
res = s;
} else if (max == i) res = res.compareTo(s) < 0 ? res : s;
}
bw.write(res);
bw.flush();
}
private static int calc(int[] tmp) {
int[] arr = {tmp[11], tmp[14], tmp[21], tmp[4]};
int sum = 1;
for (int i = 0; i < 3; i++) for (int j = i + 1; j < 4; j++) sum *= arr[i] + arr[j];
return sum % 100;
}
}