본문으로 바로가기
728x90
반응형
SMALL

 

위는 자주 사용되는 메소드들이다.

그중 getOrDefault 에 대해 알아보자

getOrDefault(key,0) : 찾는 키값이 존재하면 key값을 넣고 아니면 0을 넣어라 

Map은 중복저장이 안되는 특성이 있기 때문에 중복 값 저장시 나중에 추가되는 값이 갱신된다는점을 생각하자!

 

두 배열을 participant, complention 을 비교하여 complention 에 없거나 중복되는 값을 찾아 리턴하는 예제를 보자

 

HashMaep.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package programmers;
 
import java.util.HashMap;
 
public class HashMaep { // 해쉬맵의 기존의 존재하는 값을 넣어주면 새로운 값으로 대체되는 성질을 이용한 것임.
    public static String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> hm = new HashMap<>();
        for (String player : participant) hm.put(player, hm.getOrDefault(player, 0+ 1);
        for (String player : completion) hm.put(player, hm.get(player) - 1);
        
        for (String key : hm.keySet()) {
            if (hm.get(key) != 0){
                answer = key;
            }
        }
        return answer;
    }
 
        }
 
 
 
cs

test.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package programmers;
 
public class test {
 
    public static void main(String[] args) {
    
    String[] arr= {"a","b","c"};    
    String[] arr1= {"a","b"};    
    
    System.out.println("해시맵사용: "+HashMaep.solution(arr, arr1));
    
}
 
 
 
cs

 

programmers.co.kr/learn/courses/30/lessons/42576

728x90
반응형
LIST