백준 BAEKJOON 34544번 후문으로 [PYTHON/파이썬]

문제 출처 (BRONZE Ⅱ)

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

 

 

 

 

 

 

풀이

0층은 존재하지 않기 때문에 주의하면서 풀어야 한다.

맨 처음 상대적인 층수는 1층이기 때문에 result=1 값을 주고 시작했다.

주어지는 A, B 층을 입력으로 받은 뒤, A층으로 들어가 B층으로 나오기 때문에

만약 A층이 지하, B층이 지상이면 B-A-1

A층이 지상, B층이 지하이면 B-A+1

두 층 모두 지상이거나 지하이면 B-A 수식을 사용하여 result 값에 더해준다.

마지막으로 result 값이 0 이하이면 0층은 존재하지 않기 때문에

실질적으로 1층을 더 내려간다는 의미이니 -1을 해줘야 한다.

 

 

 

 

코드

N = int(input())
result = 1

for _ in range(N):
    A, B = map(int, input().split())

    if A < 0 and B > 0:
        result += B - A - 1
    elif A > 0 and B < 0:
        result += B - A + 1
    else:
        result += B - A

print(result if result > 0 else result - 1)