임스가 미니게임을 같이할 사람을 찾고 있습니다.
플레이할 미니게임으로는 윷놀이 , 같은 그림 찾기 , 원카드 가 있습니다. 각각 2, 3, 4 명이서 플레이하는 게임이며 인원수가 부족하면 게임을 시작할 수 없습니다.
사람들이 임스와 같이 플레이하기를 신청한 횟수 과 임스가 플레이할 게임의 종류가 주어질 때, 최대 몇 번이나 임스와 함께 게임을 플레이할 수 있는지 구하시오.
임스와 여러 번 미니게임을 플레이하고자 하는 사람이 있으나, 임스는 한 번 같이 플레이한 사람과는 다시 플레이하지 않습니다.
임스와 함께 플레이하고자 하는 사람 중 동명이인은 존재하지 않습니다. 임스와 lms0806은 서로 다른 인물입니다.
첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 과 같이 플레이할 게임의 종류가 주어진다.
두 번째 줄부터 개의 줄에는 같이 플레이하고자 하는 사람들의 이름이 문자열로 주어진다. 문자열 길이
사람들의 이름은 숫자 또는 영문 대소문자로 구성되어 있다.
임스가 최대로 몇 번이나 게임을 플레이할 수 있는지 구하시오.
7 Y
lms0806
lms0806
exponentiale
lms0806
jthis
lms0806
leo020630
4
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const [n, gameType] = input[0].split(" ");
const players = new Set(input.slice(1));
let playSize;
switch (gameType) {
case "Y": {
playSize = 2;
break;
}
case "F": {
playSize = 3;
break;
}
case "O": {
playSize = 4;
break;
}
}
const answer = Math.floor(players.size / (playSize - 1));
console.log(answer);
임스는 한 번 같이 플레이한 사람과는 다시 게임을 하지 않으므로, 신청자 중 중복된 이름은 제외해야 한다. 중복을 제거하기 위해 Set 자료구조를 활용했다.
게임은 각각 정해진 인원 수가 있어, 게임 종류에 따라 필요한 인원 수를 playSize 변수에 저장했다.
게임을 한 번 진행하려면 임스를 포함한 총 playSize명이 필요하므로, 신청자 수를 (playSize - 1)로 나눈 몫을 계산하면 임스가 함께할 수 있는 게임 횟수를 구할 수 있다!