1. 완주하지 못한 선수
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
Map<String, Integer> pMap = new HashMap<>();
for(String name : participant){
pMap.put(name, pMap.getOrDefault(name,0) +1);
}
for(String name : completion){
pMap.put(name, pMap.getOrDefault(name,0) -1);
} // leo,1 kiki(1-1)=0, eden(1-1)=0
for(String key : pMap.keySet()) {
if(pMap.get(key) == 1)
return key;
}
return null;
}
}
2. 폰켓몬
import java.util.*;
class Solution {
public int solution(int[] nums) {
// 1. List 활용
List<Integer> list = new ArrayList<>();
for(int i : nums){
if(!list.contains(i)) list.add(i);
}
//return Math.min(nums.length/2,list.size());
return (nums.length/2 < list.size()) ? nums.length/2 : list.size();
// 2. Set 활용
Set<Integer> list = new HashSet<>();
for(int i : nums){
list.add(i);
}
return Math.min(nums.length/2,list.size());
}
}
2. 전화번호 목록
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
// 1. List 활용
List<String> list = new ArrayList(Arrays.asList(phone_book));
Collections.sort(list);
for(int i=0; i<list.size()-1;i++){
String num1 = list.get(i);
String num2 = list.get(i+1);
if(num2.startsWith(num1)) return false;
}
return true;
// 2. Set 활용
Set<String> setList = new HashSet<>();
for(String book : phone_book){
setList.add(book);
}
for(String book : phone_book){
for(int i=1; i<book.length(); i++){
if(setList.contains(book.substring(0,i))) return false;
}
}
return true;
}
}
3. 의상
import java.util.*;
class Solution {
public int solution(String[][] clothes) {
Map<String, Integer> map = new HashMap<>();
int result = 1;
for(String[] value : clothes)
map.put(value[1],(map.getOrDefault(value[1],0)+1));
for(int i : map.values()){
result *= i+1;
}
return result-1;
}
}