본문 바로가기

Algorithm/Implementation

(Python) - 백준(BOJ) 10834 : 벨트

반응형

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

 

10834번: 벨트

첫 줄에는 벨트의 개수를 나타내는 자연수 M(1 ≤ M ≤ 1,000)이 주어진다. 다음 M개의 줄에는 1번 벨트부터 순서대로 벨트로 이어진 두 바퀴의 회전수의 비를 나타내는 두 개의 양의 정수 a, b와 벨

www.acmicpc.net

간단 구현문제였습니다.

📕 풀이방법

📔 입력 및 초기화

벨트 종류의 개수 m, 마지막 바퀴의 분당 회전수 ans, 마지막 바퀴의 회전방향 rot를 선언 후 적절히 입력받습니다.

📔 풀이과정

i번째 바퀴를 a, i+1번째 바퀴를 b, 그 때의 회전 방향을 r이라고 가정해 변수를 선언해주어 m만큼 입력받습니다.

1번째 바퀴 * 2번째 바퀴가 2번째 바퀴의 회전 수 입니다. 이후에는 i번째 바퀴가 ans / a * b만큼 돌게 됩니다. 매 입력마다 r이 1이라면 방향이 반대가 되기 때문에 rot 값을 toggle해줍니다.

📔 정답출력

rot와 ans를 출력해줍니다.


📕 Code

import sys
input = sys.stdin.readline

m = int(input())
ans = 0
rot = 0

for i in range(m):
    a, b, r = map(int,input().split())
    if(i == 0): ans = a * b
    else: ans = int(ans / a * b)
    if(r == 1): rot = 1 - rot
    
print(rot,ans)