🌞Algorithm/🔥Baekjoon

[Baekjoon] 3022_PRASE

뿌야._. 2026. 2. 23. 17:24
문제(출처: https://www.acmicpc.net/problem/3022)

< PRASE >

 

문제 풀이 

 

HashMap을 활용하여 경고 횟수를 구한다.

주어진 예제가 다음과 같다면

mirko        
stanko
stanko
stanko -> mirko : 1 / stanko : 2 이므로 경고!

 

 

my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class _3022_ { // PRASE

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

		int n = Integer.parseInt(bf.readLine());

		HashMap<String, Integer> map = new HashMap<>();

		int result = 0;

		for (int i = 0; i < n; i++) {
			String name = bf.readLine();

			if (map.containsKey(name)) {
				if (i  - map.get(name) < map.get(name)) {
					result += 1;
				}
				map.replace(name, map.get(name) + 1);
			} else {
				map.put(name, 1);
			}
		}
		System.out.println(result);
	}
}
변수)
n : 아이들이 가져간 음식 조각의 총 개수
map : HashMap <이름, 아이가 가져간 음식 조각의 개수>

 

아이들이 가져간 음식 조각의 총 개수를 입력받는다. n만큼 이름을 입력받으면서 HashMap에 값이 있다면 이미 다른 모든 아이들이 가져간 음식의 총합보다 더 많은지 확인한다. 많다면 result+1을 통해 경고하고, HashMap 값을 업데이트한다. HashMap에 값이 없다면 저장한다.

 

최종 result를 출력한다. 



 

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

[Baekjoon] 11969_Breed Counting  (0) 2026.02.24
[Baekjoon] 19622_회의실 배정 3  (0) 2026.02.12
[Baekjoon] 19621_회의실 배정 2  (0) 2026.02.11
[Baekjoon] 5953_Profits  (0) 2026.02.10
[Baekjoon] 1699_제곱수의 합  (0) 2026.02.09