🌞Algorithm/🔥Baekjoon

[Baekjoon] 17048_Jarvis

뿌야._. 2025. 4. 11. 17:05
문제(출처: https://www.acmicpc.net/problem/17048)

< Jarvis >

 

문제 풀이 

 

HashMap을 사용하여 필요한 주파수가 같은 드론이 몇 개인지 구한다.

 

my solution (Java)

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.StringTokenizer;
 
 public class _17048_ { // Jarvis
 
 	public static void main(String[] args) throws IOException {
 		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
 		StringTokenizer st;
 
 		int N = Integer.parseInt(bf.readLine());
 
 		int arr[][] = new int[2][N];
 
 		st = new StringTokenizer(bf.readLine());
 		for (int i = 0; i < N; i++) {
 			arr[0][i] = Integer.parseInt(st.nextToken());
 		}
 
 		st = new StringTokenizer(bf.readLine());
 		for (int i = 0; i < N; i++) {
 			arr[1][i] = Integer.parseInt(st.nextToken());
 		}
 
 		HashMap<Integer, Integer> map = new HashMap<>();
 		for (int i = 0; i < N; i++) {
 			if (map.containsKey(arr[1][i] - arr[0][i])) {
 				map.replace(arr[1][i] - arr[0][i], map.get(arr[1][i] - arr[0][i]) + 1);
 			} else {
 				map.put(arr[1][i] - arr[0][i], 1);
 			}
 		}
 
 		ArrayList<Integer> list = new ArrayList<>(map.keySet());
 		Collections.sort(list, new Comparator<Integer>() {
 			@Override
 			public int compare(Integer o1, Integer o2) {
 				return map.get(o2) - map.get(o1);
 			}
 		});
 
 		System.out.println(map.get(list.get(0)));
 	}
 }
변수)
N : 드론 개수
arr : 공장 출하 시 주파수 값, 요구 주파수 값
map : HashMap <Integer, Integer>
list : HashMap key -> ArrayList

 

드론 개수 N을 입력받는다. N만큼 공장 출하 시 주파수 값과 요구 주파수 값을 입력받아 배열 arr에 저장한다. (요구 주파수 값 - 출하 시 주파수값)을 구해 변경할 주파수 양을 key 값으로 HashMap에 저장한다. HashMap을 value 기준 내림차순으로 정렬하여 가장 큰 value 값을 출력한다. 



 

'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글

[Baekjoon] 5263_samba  (0) 2025.04.10
[Baekjoon] 12005_Diamond Collector (Bronze)  (0) 2025.04.07
[Baekjoon] 6138_Exploration  (0) 2025.04.04
[Baekjoon] 15237_Cipher  (0) 2025.04.03
[Baekjoon] 3211_kino  (0) 2025.04.02