๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/42576
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก์ Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
< ์์ฃผํ์ง ๋ชปํ ์ ์ >
๋ฌธ์ ํ์ด (Java)
1) HashMap
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> map = new HashMap<>();
for (String str : participant) {
if (!map.containsKey(str)) {
map.put(str, 0);
}
map.put(str, map.get(str) + 1);
}
for (String str : completion) {
if (map.get(str) == 1) {
map.remove(str);
} else {
map.put(str, map.get(str) - 1);
}
}
for (String str : map.keySet()) {
answer = str;
}
return answer;
}
}
์ฐธ๊ฐ์์ ์ด๋ฆ์ HashMap์ ์ ์ฅํ๊ณ , ์ด๋ฆ๋ณ ๋ฑ์ฅ ํ์๋ฅผ ์นด์ดํธํ๋ค. ์์ฃผ์ ๋ช ๋จ์ ์ํํ๋ฉฐ HashMap์์ ํด๋น ์ด๋ฆ์ ๊ฐ์๋ฅผ ๊ฐ์์ํจ๋ค. ์ต์ข HashMap์ ๋จ์ ์ด๋ฆ์ด ์์ฃผํ์ง ๋ชปํ ์ ์ ์ด๋ฏ๋ก answer์ ์ ์ฅํ ํ ๋ฐํํ๋ค.
2) ์ ๋ ฌ
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Arrays.sort(participant);
Arrays.sort(completion);
for (int i = 0; i < participant.length; i++) {
if (i >= completion.length || !participant[i].equals(completion[i])) {
answer = participant[i];
break;
}
}
return answer;
}
}
์ฐธ๊ฐ์ ๋ฐฐ์ด๊ณผ ์์ฃผ์ ๋ฐฐ์ด์ ๊ฐ๊ฐ ์ ๋ ฌํ๋ค. ๋ ๋ฐฐ์ด์ ๋น๊ตํ๋ฉฐ ์ผ์นํ์ง ์์ ๋๊ฐ ์์ฃผํ์ง ๋ชปํ ์ ์์ด๋ฏ๋ก answer์ ์ ์ฅํ ํ ๋ฐํํ๋ค.

์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉ ํ ์คํธ ์ฐ์ต,
https://school.programmers.co.kr/learn/challenges
'๐Algorithm > ๐ฅprogrammers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [programmers] ๋์คํฌ ์ปจํธ๋กค๋ฌ (0) | 2026.07.29 |
|---|---|
| [programmers] ์ด์ค์ฐ์ ์์ํ (0) | 2026.07.27 |
| [programmers] ๋ฒ ์คํธ์จ๋ฒ (0) | 2026.07.24 |
| [programmers] ์ ์ ์ผ๊ฐํ (0) | 2026.07.22 |
| [programmers] ๊ฐ์ฅ ๋จผ ๋ ธ๋ (0) | 2026.07.21 |