코딩테스트 연습(with java)/프로그래머스
프로그래머스<신고하기>-2차 수정
IT_LEE
2022. 8. 10. 19:35
변수 위치 조절하면 성공할 수 있을 것 같다.
아직 수정이 많이 필요한 더티코드 단계
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
class Solution {
public int[] solution(String[] id_list, String[] report, int k) {
ArrayList<Integer> answser5 = new ArrayList<Integer>();
String[] foranswer;
for(int i=0;i<report.length; i++){
foranswer = report[i].split(" ");
}
ArrayList<String> call = new ArrayList<String>();
ArrayList<String> criminal = new ArrayList<String>();
for(int j=0; j<foranswer.length; j++){
if(j%2==0){
call.add(foranswer[j]);
}
else{
criminal.add(foranswer[j]);
}
}
//call = [ muzi, apeach, frodo, muzi, apeach]
//criminal = [frodo, forodo, neo, neo, muzi];
ArrayList<Integer> answer2 = new ArrayList<Integer>();
ArrayList<Integer> use = new ArrayList<Integer>();
ArrayList<String> al = new ArrayList<String>();
for(int p=0; p<id_list.length; p++){
if(call.contains(id_list[p])==true){
int idx = call.indexOf(id_list[p]);
al.add(criminal.get(idx));
answer2.add(al.size());
}
}
for(int j=0; j<al.size(); j++){
int count = 0;
int a = Collections.frequency(al, al.get(j));
if(a>=k){
count++;
}
answer5.add(count);
}
int[] answer = new int[answer5.size()];
for(int m=0; m<answer5.size(); m++){
answer[m] = answer5.get(m);
}
return answer;
}
}