๋ฐ์ํ
๐ ๋ฌธ์ URL ๐
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
public static int[] solution(String[] id_list, String[] report, int k) {
int[] answer = new int[id_list.length];
// HashMap : Key-value, hashSet: set ์ค ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข์
// key : ์ ๊ณ ๋ ID, value : ์ ๊ณ ํ ID set
Map<String, HashSet<String>> reportMap = new HashMap<>();
// key : ์ ๊ณ ํ ID, value : ๋ฉ์ผ ๋ฐ๋ ํ์
Map<String, Integer> resultMap = new HashMap<>();
for (int i = 0; i < id_list.length; i++) {
String name = id_list[i];
reportMap.put(name, new HashSet<>());
resultMap.put(name, 0);
}
for(String user_report : report){
String[] reportArr = user_report.split(" ");
reportMap.get(reportArr[1]).add(reportArr[0]); //์ ๊ณ ํ ID๋ฅผ HashSet์ ์ถ๊ฐํด์ค
}
//reportMap ๋ฐ์ดํฐ ์ถ๋ ฅ
/*reportMap.forEach((key, value) -> {
System.out.print(key +":" );
value.forEach((str)->System.out.print(str +"," ));
System.out.println();
} );*/
//์ ๊ณ ํ ID๋ณ ๋ฉ์ผ ๋ฐ๋ ํ์ ์ถ๊ฐ
reportMap.forEach((key,value) -> {
//์ ๊ณ ๋นํ ํ์๊ฐ kํ ์ด์์ด๋ผ๋ฉด ๋ฉ์ผ ๋ฐ์ก
if(value.size() >= k){
value.forEach((str) -> {
//์ ๊ณ ์๋ช
์ฐพ์์ ๋ฉ์ผ ํ์ ์ถ๊ฐ
int cnt = resultMap.get(str).intValue() +1;
resultMap.replace(str, cnt);
});
}
});
//resultMap ๋ฐ์ดํฐ ์ถ๋ ฅ
/*resultMap.forEach((key, value) -> {
System.out.println(key +":" + value);
} );*/
for(int i=0; i< id_list.length; i++){
answer[i] = resultMap.get(id_list[i]).intValue();
}
return answer;
}
ํ
์คํธ๋ ๋ค ํต๊ณผํ๋ค!
728x90
๋ฐ์ํ
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2022.07.24 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.07.24 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๊ฐ์ฅ ํฐ ์ - ์ ๋ ฌ (0) | 2022.02.20 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] K๋ฒ์งธ์ - ์ ๋ ฌ (0) | 2022.02.20 |
[ํ๋ก๊ทธ๋๋จธ์ค/JAVA] ๋ฒ ์คํธ ์จ๋ฒ - ํด์ (0) | 2022.02.20 |
๋๊ธ