๐ Today I Learned - ์ค๋ ๋ด๊ฐ ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํฉ๋๋ค.
Lv4 ๋ก๊ทธ์ธ(์ธ์ฆ)Lv0 - Lv4 ๊ธฐ๋ฅ ํ
์คํธ ๋ฐ ํธ๋ฌ๋ธ์ํ
Lv5 ๋ค์ํ ์์ธ์ฒ๋ฆฌ ์ ์ฉํ๊ธฐ[Spring] ์ผ์ ๊ด๋ฆฌ ์ฑ Develop ํธ๋ฌ๋ธ์ํ
ํ๋ก๊ทธ๋๋จธ์ค_#92334 ์ ๊ณ ๊ฒฐ๊ณผ๋ฐ๊ธฐ
public int[] solution(String[] id_list, String[] report, int k) {
HashMap<String, Map<String, Integer>> reportMap = new HashMap<>();
LinkedHashMap<String, Integer> mailMap = new LinkedHashMap<>();
for (String a : id_list) {
mailMap.put(a, 0);
}
for (String s : report) {
String[] starr = s.split(" ");
reportMap.putIfAbsent(starr[0], new HashMap<>());
reportMap.putIfAbsent(starr[1], new HashMap<>());
reportMap.get(starr[1]).put(starr[0], 1);
}
ArrayList<Integer> al = new ArrayList<>();
for (String s : id_list) {
if (!reportMap.containsKey(s)) {
al.add(0);
} else {
int num = reportMap.get(s).values().stream().mapToInt(integer -> integer).sum();
if (num >= k) {
al.add(num);
} else {
al.add(0);
}
}
}
int[] reportCount = al.stream().mapToInt(Integer::intValue).toArray();
for (int i = 0; i < reportCount.length; i++) {
if (reportCount[i] != 0) {
reportMap.get(id_list[i]).keySet().forEach(v -> {
if (mailMap.containsKey(v)) {
mailMap.put(v, mailMap.get(v) + 1);
} else {
mailMap.put(v, 1);
}
});
}
}
return mailMap.values().stream().mapToInt(Integer::intValue).toArray();
}
Lv6 ๋น๋ฐ๋ฒํธ ์ํธํLv7 ๋๊ธ CRUD์๋ก์ด ํ ์ฃผ์ ์์์ผ๋ก ์ด์ฌํ ๋ฌ๋ ค๊ฐ๊ณ ์ถ์ง๋ง ๋๋ฌด ์ถฅ๋ค. ๐ฅถ (์ถฅ๊ณ ๊ผฌ์ง๊ผฌ์งํ๋ ์ปจ๋์ ์ต์ ์ด๋ค...) ์ต๊ทผ ๊ฑด๊ฐ์ด ํ๋ฃจํ๋ฃจ ๋๋น ์ ธ๊ฐ๋๊ฒ ๋๊ปด์ง๋ค. ํ์ผ์ ํ๋ฃจ ์ข ์ผ ํ์ต์ ์๊ฐ์ ํฌ์ํ๋ ๋งํผ ์ฃผ๋ง์๋ ์ข ํ๋์ ์ผ๋ก ์์ง์ด๊ฑฐ๋ ํ์ผ์ ๋ถ์กฑํ ๊ณต๋ถ๋ฅผ ์ถ๊ฐํ๋ ค๊ณ ๊ณํํ์ง๋ง ๋ง์ ์ฃผ๋ง์ด ๋๋ฉด ๊ณํ์ ์ค์ฒํ๋๊ฒ ๋๋ฌด ์ด๋ ต๋ค. ํ์ผ์ ์๊ฐ์ ์ต๋ํ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํด์ ๊ณผ์ ๋ ์ผ์ผ ๋ชฉํ๋ฅผ ํ์คํ ๋๋ด๊ณ ์ฃผ๋ง์ ๋์๊ฒ ๋ถ๋ด์ ์ฃผ์ง ์๋๋ก ๋ ธ๋ ฅํด์ผ๊ฒ ๋ค.