알고리즘/백준

[BOJ#25757] 임스와 함께하는 미니게임(NodeJS)

Jinoo.keem 2024. 7. 18. 09:28
728x90

https://www.acmicpc.net/problem/25757

1 초 512 MB 3834 2591 2271 69.365%

문제

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

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

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

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

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

입력

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

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

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

출력

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


 

제출 코드

const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

let [N, G] = input[0].trim().split(" ");
N = parseInt(N);

let person;
if (G === "Y") {
  person = 1;
} else if (G === "F") {
  person = 2;
} else if (G === "O") {
  person = 3;
}

let party = new Set();
for (let i = 1; i < N + 1; i++) {
  party.add(input[i].trim());
}
console.log(Math.floor(party.size / person));

 

1. set에서는 size로 길이 구하기

2. 파이썬의 // 는 자바스크립트에선 Math.floor 다

3. 입력값에 개행문자 \r 이 포함되면 split 하기 전에 trim() 으로 제거

 

아직 개념공부가 많이 필요한것같음