|
์ฝ๋ ์์ฑํ๊ธฐ
import java.util.*;
class Solution {
// ๋จ ํ๋ช
์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค ์์ฃผ
// completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์
// ๋๋ช
์ด์ธ์ด ์์ ์ ์์
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<String, Integer> check = new HashMap<>();
//์ฐธ๊ฐ์๋ฅผ ๋จผ์ map์ ๋ฑ๋ก(๋๋ช
์ด์ธ์ด ์์ ์ ์์)
for (String person : participant) {
if (check.containsKey(person)) {
check.put(person, check.get(person) + 1);
} else {
check.put(person, 1);
}
}
// ์์ฃผํ ์ฌ๋ ์ด๋ฆ์ value๊ฐ์ -1์ฉ ํ๋ค.
for (String finish : completion) {
check.put(finish, check.get(finish) - 1);
}
// ํ ๋ช
๋ง ์์ฃผ๋ฅผ ๋ชปํ์ผ๋ฏ๋ก, value ๊ฐ์ด ์ฌ์ ํ 1์ธ ์ฌ๋์ด ์์ฃผ๋ฅผ ๋ชปํ ๊ฒ
for (String person : check.keySet()) {
if (check.get(person) == 1) {
answer = person;
}
}
return answer;
}
}
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
ํ์ด๋ดค๋ ๋ฌธ์ ๋ผ์ ๊ธ๋ฐฉ ํด๊ฒฐํ ์ ์์๋ค.
Map์ Key๊ฐ์ผ๋ก ์ด๋ฆ์ ๋ฃ๊ณ , value ๊ฐ์ 1๋ก ์
๋ ฅ.
๋จ, ๋๋ช
์ด์ธ์ธ ๊ฒฝ์ฐ, ๊ธฐ์กด์ ์
๋ ฅ๋์ด ์๋ value ๊ฐ์ +1์ ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ completion ๋ฐฐ์ด์ ๋ฐํ์ผ๋ก, ํด๋นํ๋ key๊ฐ์ ์ฐพ์์ value๊ฐ์ -1์ฉ ํด์ค๋ค.
์์ฃผํ์ง ๋ชปํ ์ ์๋ ๋จ ํ๋ช
์ด๋ฏ๋ก, value๊ฐ์ด 1์ธ ์ฌ๋์ด ์์ฃผํ์ง ๋ชปํ ์ฌ๋์ผ ๊ฒ์ด๋ค.