Vienna
백준10807번) 개수 세기 본문
◇ 문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
◇ 입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
◇ 출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
◆ 풀이
빈도수 구하기 문제다.
HashMap을 통해 입력받을 때부터 기록을 해둔다면 빠르게 해결할 수 있을 것이다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
HashMap<Integer, Integer> map = new HashMap<>();
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i=0; i<n; i++){
int value = Integer.parseInt(st.nextToken());
map.put(value, map.getOrDefault(value, 0)+1);
}
System.out.println(map.getOrDefault(Integer.parseInt(br.readLine()), 0));
}
}
'알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스) 배열 회전시키기 (0) | 2023.05.24 |
---|---|
프로그래머스) 한 번만 등장한 문자 (0) | 2023.05.24 |
백준2830번) 행성 X3 (0) | 2023.05.16 |
백준9012번) 괄호 (0) | 2023.05.16 |
프로그래머스) 숫자 문자열과 영단어 (0) | 2023.05.16 |
Comments