728x90
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;
import java.util.StringTokenizer;
public class Hashtable_05 {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Hashtable <Integer,Integer>ht = new Hashtable();
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
int num = Integer.parseInt(st.nextToken());
ht.put(num, ht.getOrDefault(num,0)+1);
}
int result = Integer.parseInt(br.readLine());
System.out.println(ht.getOrDefault(result,0));
}
}
Hashtable을 이용해서 풀었다.
getOrDefault 메소드를 처음 알게됐을 땐 너무 어려웠는데 이것만큼 편리한게 없는 것 같다.
전에 이 문제를 풀었을 땐 배열로 입력된 숫자를 죄다 배열에 저장해놓고 갯수 찾을 숫자를 입력받으면 배열을 다 돌아서 cnt를 올려가며 갯수를 셌는데 Hashtable을 이용하는게 훨씬 간단하다.
다만 문제를 보고 자료구조를 떠올릴 수 있어야말이징...
728x90
'알고리즘 > 백준' 카테고리의 다른 글
(백준/자바) 힌트문제2 05. 트리 - 백준 11725번 문제 : 트리의 부모 찾기 (0) | 2023.07.26 |
---|---|
(백준/자바) 힌트문제2 03. 구현 - 백준 5613번 문제 : 계산기 프로그램 (0) | 2023.07.25 |
(백준/자바) 힌트문제1 04. 비트연산자 - 백준 2830번 문제 : 행성 X3 (0) | 2023.07.18 |
(백준/자바) 힌트문제1 03. 스택 - 백준 9012번 문제 : 괄호 (0) | 2023.07.18 |
(백준/자바) 1764번 문제 : 듣보잡 (0) | 2023.05.19 |