Algorithm/BOJ

[알고리즘/백준/15721] 번데기

개발자 김비숑 2023. 6. 1. 13:33
반응형

문제


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

 

15721번: 번데기

예를 들어 7명이 있고, 16번째 등장하는 “뻔”을 부른 사람의 번호를 알고 싶다면 입력은 7 16 0이다. 4명이 있고 6번째 등장하는 “데기”를 부른 사람의 번호를 알고 싶다면 입력은 4 6 1이며, 이

www.acmicpc.net

 

풀이


const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let [A, T, C] = fs
  .readFileSync(filePath)
  .toString()
  .trim()
  .split("\n")
  .map(Number);

let round = 0;
let cnt = 0;
let answer = 0;

while (true) {
  round++;
  const arr = [0, 1, 0, 1];
  // 게임 규칙에 따른 문장 생성
  for (let i = 0; i < round + 1; i++) arr.push(0);
  for (let i = 0; i < round + 1; i++) arr.push(1);

  // 해당 문장 각각을 검사 
  for (const x of arr) {
    if (x === C) cnt++;
    if (cnt === T) {
      console.log(answer);
      return;
    }

    answer++;
    answer %= A;
  }
}

 

반응형