midnightly
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์ (JAVA) ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์ (JAVA)
๋น๋ฒ๋ฒ๋น 2022. 2. 4. 10:49๐ ๋ฌธ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ํ์ด
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
HashMap<String, Integer> hm = new HashMap<>();
for (int i = 0; i < participant.length; i++){
String name = participant[i];
if (hm.containsKey(name)) { // ์ฐธ๊ฐ์ ์ค ์ด๋ฏธ ๋ฑ๋ก๋ ์ฌ๋์ด ์กด์ฌํ๋ฉด value ์นด์ดํธ +1
hm.put(name, hm.get(name)+1);
} else { // ๋ฑ๋ก๋ ์ฐธ๊ฐ์๊ฐ ์๋ค๋ฉด value ๊ธฐ๋ณธ ๊ฐ 1
hm.put(name, 1);
}
}
for (int i = 0; i < completion.length; i++) {
if (hm.get(completion[i]) == 1){ // ์์ฃผ์์ value๊ฐ 1์ด๋ผ๋ฉด ์ฐธ๊ฐ์ map์์ ์ญ์
hm.remove(completion[i]);
} else { // value๊ฐ 1์ด ์๋๋ผ๋ฉด (=๋๋ช
์กด์ฌ) value ์นด์ดํธ -1
hm.put(completion[i], hm.get(completion[i])-1);
}
}
String tmp = hm.keySet().toString();
String answer = tmp.substring(1, tmp.length()-1); // ์๋ค ๊ดํธ ์ ๊ฑฐ
return answer;
}
}
https://programmers.co.kr/learn/courses/30/lessons/42576
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ฃผํ์ง ๋ชปํ ์ ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค. ๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์
programmers.co.kr
'Algorithm > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ํ๋ฒํธ ๋ชฉ๋ก (JAVA) (0) | 2022.02.04 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ๊ท ์์ด๋ ์ถ์ฒ (JAVA) (0) | 2021.10.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ (JAVA) (0) | 2021.10.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (JAVA) (0) | 2021.10.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋ํ๊ธฐ (JAVA) (0) | 2021.10.01 |