-
Java 25757 임스와 함께하는 미니게임PS 2023. 7. 19. 09:55
https://www.acmicpc.net/problem/25757
25757번: 임스와 함께하는 미니게임
첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들
www.acmicpc.net
풀이 : 이미 플레이한 사람의 경우에는 게임을 다시 할 수 없기에 이를 체크해주기 위해 set을 이용하여 중복된 원소가 존재하지 못하게 해줌으로써 해결할 수 있는 문제였습니다.
게임 종류별로 플레이 인원이 정해져있기에 조건문을 통해서 카운트해야할 플레이어의 수를 정해주었고 반복문을 통해 플레이어 이름을 입력받고 set에 존재하지 않는 사람이라면 set에 추가해주고 tmp 변수에 값을 더해주고 tmp와 cnt가 값이 똑같아진 경우엔 게임을 실행할 수 있음으로 result 변수에 값을 더해주고 tmp 변수를 초기화해주는 식으로 구현하였습니다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.HashSet; import java.util.StringTokenizer; public class Main { 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()); String game = st.nextToken(); int result = 0; int cnt = 0; if(game.equals("Y")){ cnt = 1; }else if(game.equals("F")){ cnt = 2; }else { cnt = 3; } HashSet<String> set = new HashSet<>(); int tmp = 0; for(int i = 0; i < n; i++){ String str = br.readLine(); if(!set.contains(str)){ set.add(str); tmp++; } if(tmp == cnt){ result++; tmp = 0; } } System.out.println(result); } }
'PS' 카테고리의 다른 글
Java 1244 스위치 켜고 끄기 (0) 2023.07.19 Java 20125 쿠키의 신체 측정 (0) 2023.07.19 Java 1389 케빈 베이컨의 6단계 법칙 (0) 2023.07.05 Java 14891 톱니바퀴 (0) 2023.06.30 Java 3190 뱀 (0) 2023.06.29