반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- next
- 백준
- Erricson
- nodejs
- map
- React.js
- typescript
- 에릭슨엘지
- Bestawards
- 객체인지
- axios
- props.key
- dataFetching
- react
- BOJ
- 자바스크립트
- 15721
- Baekjoon
- javascript
- Unmounting
- js
- 이미지스캔
- GirlsInICT해커톤
- 훈훈한자바스크립트
- Girls_In_ICT
- 코드캠프
- props
- ts
- filter
- getDerivedStateFromProps
Archives
- Today
- Total
민희의 코딩일지
[PYTHON] 백준 15721 번데기 본문
반응형
https://www.acmicpc.net/problem/15721
15721번: 번데기
예를 들어 7명이 있고, 16번째 등장하는 “뻔”을 부른 사람의 번호를 알고 싶다면 입력은 7 16 0이다. 4명이 있고 6번째 등장하는 “데기”를 부른 사람의 번호를 알고 싶다면 입력은 4 6 1이며, 이
www.acmicpc.net
이 문제는 브루트포스 알고리즘을 이용하여 풀었다.
풀이
A: 게임을 진행하는 총 인원
T: 구하고자 하는 번째 (T 번째로 뻔 / 데기 를 부른 사람)
N: 입력 값이 0인 경우 '뻔', 1인 경우 '데기'
* 뻔과 데기가 불리는 수는 동일하므로 뻔과 데기의 횟수를 뻔의 횟수로 작성하였다.
뻔 데기 게임 1회차
뻔 - 데기 - 뻔 - 데기 - 뻔 - 뻔 - 데기 - 데기 (총 8번, 뻔 4번씩)
뻔 데기 게임 2회차
뻔 - 데기 - 뻔 - 데기 - 뻔 - 뻔 - 뻔 - 데기 - 데기 - 데기 (총 10번, 뻔 5번씩): 누적 9회
각 회차에서 '뻔' 횟수는 초기값 2+ N+1이다.
테스트케이스
8 2 0: 2는 1회차 횟수인 4보다 작음, 1회차안에서 찾으면 된다
4 6 1: 6은 1회차 횟수인 4보다 크고 2회차 횟수인 9보다 작음, 2회차안에서 찾으면 된다.
찾는 방식은 게임의 횟수를 총 인원으로 나눈 값의 나머지이다.
코드
A = int(input())
T = int(input())
N = int(input())
games = [] # 게임 진행 상황 (튜플로 저장)
bbun = 1 # 뻔 을 외친 횟수
degi = 1 # 데기 를 외친 횟수
cnt = 0 # 몇번째 게임인지
while(True):
num = bbun # 이전 회차에서 뻔 or 데기를 외친 누적 횟수
cnt += 1
# 1) 처음에 뻔 - 데기 - 뻔 - 데기 이 4번 반복은 동일함
for _ in range(2):
games.append((bbun, 0))
bbun += 1
games.append((degi, 1))
degi +=1
# 2) 뻔 - 뻔 - 반복부분
# (1): 2번, (2): 3번, (cnt): cnt+1번
for _ in range(cnt+1):
games.append((bbun, 0))
bbun +=1
for _ in range(cnt+1):
games.append((degi, 1))
degi += 1
# 3) 정답 찾기
# 4 <= 6 < 9: 2회차에서 찾아야 함
if (num <= T < bbun):
print(games.index((T, N)) % A)
break
반응형
'자료구조, 알고리즘 > 파이썬' 카테고리의 다른 글
[백준] 17276 - 배열 돌리기 (0) | 2024.07.06 |
---|---|
[백준] 15469 - N과 M (1) (0) | 2024.07.06 |
[PYTHON] 백준 4446 ROT13 (0) | 2023.02.05 |
[PYTHON] 백준 14247 나무자르기 (0) | 2023.01.26 |
[PYTHON] 백준 2346 풍선 터트리기 (0) | 2023.01.15 |
Comments