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 |
728x90
반응형
LIST
'Personal Studying~ > 자바문제 풀어보기' 카테고리의 다른 글
[릿코드]1. TWOSUM (0) | 2021.10.28 |
---|---|
백준 2차원 배열의 합 2167번 해설(JAVA) (0) | 2021.07.28 |
문자열 형태의 2진수를 입력받아 10진수로 출력하시오 (0) | 2021.01.11 |
8*8 랜덤배열에서 최대값의 값과 좌표를 출력 (0) | 2021.01.10 |
15를 연속된 자연수의 합으로 표현하는 방법의 가지수를 출력해보시오 (0) | 2021.01.10 |