10807. 개수 세기
https://www.acmicpc.net/problem/10807
📌문제
총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.
- 예제1
📝입력
첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.
11
1 4 1 2 4 2 4 2 3 4 4
2
💻출력
첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.
3
📌풀이(Map 활용)
128ms, 14316kb
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
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());
StringTokenizer st = new StringTokenizer(br.readLine());
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < n; i++){
int num = Integer.parseInt(st.nextToken());
map.put(num, map.getOrDefault(num, 0)+1);
}
int m = Integer.parseInt(br.readLine());
if(map.containsKey(m)) System.out.print(map.get(m));
else System.out.print(0);
}
}
- Map을 활용해서 시간을 최대한(?)으로 줄였다.
'Algorithm > PTUStudy' 카테고리의 다른 글
5주차. 연결 리스트(팰린드롬 연결 리스트) (0) | 2023.02.06 |
---|---|
4주차. 한수 (0) | 2023.01.30 |
4주차. 영수증 (0) | 2023.01.30 |
4주차. 베르트랑 공준 (0) | 2023.01.30 |
4주차. 문자열 반복 (0) | 2023.01.30 |