BruteForce_05_번데기(15721)

Eugenius1st·2022년 5월 23일
0

Algorithm_Baekjoon

목록 보기
116/158

BruteForce05번데기(15721)

문제

입력

  • 첫째 줄에 게임을 진행하는 사람 A명이 주어진다. A는 2,000보다 작거나 같은 자연수이다.
  • 둘째 줄에는 구하고자 하는 번째 T가 주어진다. (T ≤ 10000)
  • 셋째 줄에는 구하고자 하는 구호가 “뻔”이면 0, “데기”면 1로 주어진다.

출력

  • 첫째 줄에 구하고자 하는 사람이 원탁에서 몇 번째에 있는지 정수로 출력한다.

풀이

  • 번데기 N 번째 까지 넣고
  • A 사람 을 % 로 나누어 원형을 계속 돌아 탐색한 결과를 내도록 한다

코드

import sys

input = sys.stdin.readline
A = int(input()) # 게임을 진행하는 사람 수 A명
T = int(input()) # 구하고자 하는 T 번째
N = int(input()) # 구하고자 하는 구호
arr = []
re = 0
bun = deggi = 1
while True:
    preRe = bun
    re+=1
    for _ in range(2):
        arr.append((bun, 0))
        bun += 1
        arr.append((deggi, 1))
        deggi += 1
    for _ in range(re+1):
        arr.append((bun, 0))
        bun+=1
    for _ in range(re+1):
        arr.append((deggi,1))
        deggi += 1
    if preRe < T <=bun:
        print(arr.index((T, N)) % A)
        break

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글