오르막길

[JAVA] 임스와 함께하는 미니게임 본문

백준 풀어보기

[JAVA] 임스와 함께하는 미니게임

nanalyee 2024. 4. 22. 20:14

문제

임스가 미니게임을 같이할 사람을 찾고 있습니다.

플레이할 미니게임으로는 윷놀이 𝑌, 같은 그림 찾기 𝐹, 원카드 𝑂가 있습니다. 각각 2, 3, 4 명이서 플레이하는 게임이며 인원수가 부족하면 게임을 시작할 수 없습니다.

사람들이 임스와 같이 플레이하기를 신청한 횟수 𝑁과 임스가 플레이할 게임의 종류가 주어질 때, 최대 몇 번이나 임스와 함께 게임을 플레이할 수 있는지 구하시오.

임스와 여러 번 미니게임을 플레이하고자 하는 사람이 있으나, 임스는 한 번 같이 플레이한 사람과는 다시 플레이하지 않습니다.

임스와 함께 플레이하고자 하는 사람 중 동명이인은 존재하지 않습니다. 임스와 lms0806은 서로 다른 인물입니다.

입력

첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 𝑁과 같이 플레이할 게임의 종류가 주어진다. (1≤𝑁≤100000)

두 번째 줄부터 𝑁개의 줄에는 같이 플레이하고자 하는 사람들의 이름이 문자열로 주어진다. (1≤ 문자열 길이 ≤20)

사람들의 이름은 숫자 또는 영문 대소문자로 구성되어 있다.

출력

임스가 최대로 몇 번이나 게임을 플레이할 수 있는지 구하시오.

Code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;

public class BOJ_25757 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(st.nextToken()); // 신청 수
		char game = st.nextToken().charAt(0); // 게임 종류
		
		HashSet<String> set = new HashSet<>();
		for (int i=0; i<N; i++) {
			set.add(br.readLine());
		}
		
		int num = 0;
		if (game=='Y') num = 2;
		else if (game=='F') num = 3;
		else num = 4;
		System.out.println(set.size()/(num-1)); // 임스 포함해서 플레이
	}
}

Today I Leaned

임스를 포함해서 플레이한다는 것만 염두해두고 풀면 크게 헷갈리는건 없었다.

'백준 풀어보기' 카테고리의 다른 글

[JAVA] 9017. 크로스 컨트리  (0) 2024.04.23
[JAVA] 11724. 연결 요소의 개수  (0) 2024.04.22
[JAVA] 2531. 회전초밥 (15961. 회전초밥)  (0) 2024.04.21
[JAVA] 2583. 영역구하기  (0) 2024.04.20
[JAVA] 2512. 예산  (0) 2024.04.20