뭔가 이상하다 맞았지만 메모리를 많이 차지하도록 잘못 코드를 짠거 같다.
다른 사람들의 코드를 참고해보자
✔️ 나의 코드
import java.io.*;
import java.util.*;
class Main{
public static String solution(String yeon, int N, String[] team) {
char[] love = {'L','O','V','E'};
double[] answer = new double[N];
String final_team ="";
double max =-1;
// 같은 수의 경우 알파벳이 순서가 앞서는 것이 답이므로 정렬하기
Arrays.sort(team);
// 팀 이름을 하나씩 돌자
for(int i=0;i<N;i++) {
// 연두의 이름과 팀 이름을 합치기 (concat)
String a= yeon.concat(team[i]);
// LOVE의 개수를 저장할 배열 result
int[] result = new int [4];
// 문자 배열 love를 돌며 연두의 이름과 팀 이름의 LOVE 개수 넣기
for(int j=0;j<love.length;j++) {
int nt=-1;
do {
nt =a.indexOf(love[j],nt+1);
if(nt!=-1)
result[j]++;
}while(nt!=-1);
}
// LOVE 개수를 바탕으로 연산해서 answer에 넣기
answer[i]=((result[0]+result[1])*
(result[0]+result[2])*
(result[0]+result[3])*
(result[1]+result[2])*
(result[1]+result[3])*
(result[2]+result[3]))%100;
}
// 가장큰 max값을 구하고 그 max값의 팀 이름을 구하기
for(int i=0;i<answer.length;i++) {
if(max<answer[i]) {
max = answer[i];
final_team = team[i];
}
}
return final_team;
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String yeon = br.readLine();
int N = Integer.parseInt(br.readLine());
String[] team = new String[N];
for(int i=0; i<N;i++)
team[i]=br.readLine();
System.out.println(solution(yeon,N,team));
}
}