백준 - 단계별 문제풀기(2869번, 10250번)

유다송·2022년 9월 5일
0

2869번

A,B,V = map(int, input().split())

if (V-B) % (A-B) == 0 :
    print((V-B) // (A-B))
else :
    print(((V-B) // (A-B)) +1)
  • 달팽이는 하루에 A-B 만큼 올라간다
  • 달팽이가 올라가야하는 길이는 V-B 다. (정상에 올라간 후에는 미끄러지지 않기 때문에 V만큼을 줄여야한다.)
  • 올라가야 하는 길이 (V-B) 를 하루에 올라가는 길이 (A-B) 로 나눈다
  • 나머지가 0이 아니라면 하루가 더 필요한 것으로 보고 +1을 해준다

10250번


num = int(input())
 
for i in range(num):
    H, W, N = map(int, input().split())
    floor = N % H
    room = N // H + 1
    if floor == 0:
        room -= 1
        floor = H
 
    print(floor*100 + room)
  • floor는 n을 h로 나눈 나머지가 되고 room은 n을 h로 나눈 몫에 1을 더한것이다.
  • 높이가 맞아떨어질때마다 예외가 생기므로 floor == 0 if문을 써준다. room은 하나 줄고 floor는 h가 된다

0개의 댓글