[백준] 25757 임스와 함께하는 미니게임

문제링크 : https://www.acmicpc.net/problem/25757

 

25757번: 임스와 함께하는 미니게임

첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들

www.acmicpc.net

package boj;

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

public class MiniGame {
    private static int getGame(char g){
        switch (g){
            case 'Y': return 1;
            case 'F': return 2;
            case 'O': return 3;
        }
        return -1;
    }

    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());
        int p = getGame(st.nextToken().charAt(0));

        HashSet<String> hs = new HashSet<>();
        int cnt = 0;
        while (n-->0){
            String cur = br.readLine();
            cnt += hs.contains(cur)? 0:1;
            hs.add(cur);
        }
        System.out.println(cnt/p);
    }
}

해설

1. switch 문으로 각 게임에 필요한 인원을 찾아줍니다.

2. Hashset을 이용하여 입력받은 사람의 이름의 중복여부를 확인하여 총 인원이 몇명인지 계산해줍니다.

3. 총 인원 // 필요한 인원이 정답이 됩니다.

'Algorithm > Java' 카테고리의 다른 글

[백준] 17266 어두운 굴다리  (1) 2024.01.26
[백준] 4963 섬의 개수  (0) 2024.01.23
[백준] 4659 비밀번호 발음하기  (0) 2023.10.28
[프로그래머스] 달리기 경주  (0) 2023.10.25
[프로그래머스] 추억 점수  (0) 2023.10.23