감자튀김 공장🍟

[백준/10250] ACM 호텔 (with 파이썬) 본문

Algorithm/BOJ

[백준/10250] ACM 호텔 (with 파이썬)

Potato potage 2022. 10. 24. 15:41
반응형

✔ 문제


풀이

👻 틀린 코드 (예외 처리 부족)

t = int(input())

for _ in range(t):
    h, w, n = map(int, input().split())

    y = n % h
    x = (n // h) + 1

    if x < 10:
        print(y, 0, x, sep='')
    else:
        print(y, x, sep='')

 

⭕ 정답 코드

t = int(input())

for _ in range(t):
    h, w, n = map(int, input().split())

    y = (n % h) * 100
    x = n // h

    if y == 0:
        y = h * 100
        print(y + x)
    else:
        print(y + x + 1)

 설명

y가 0일 경우를 생각해야한다. 예를 들어 h가 5일 경우 n이 10, 15라면 방 호수는 502, 503호가 된다.

하지만 h가 5일때 n이 7로 들어왔다면 방 호수는 202호임을 알 수 있다.

n이 y의 배수일 경우에는 호텔의 가장 위층이기 때문에 h * 100 + n // h 가 방 호수가 되고

n이 y의 배수가 아닐 경우에는 (n % h) * 100 + (n // h) + 1이 방 호수가 된다.


후기

문제를 보고 대충 공식을 찾고 나서 예제 문제는 통과과 되길래 쉽네~ 했는데 n이 h의 배수로 들어오는 예외를 처리하지 않아서 계속 틀렸었다 (〃⌒▽⌒〃)ゝ

그리고 처음에는 층수 * 100을 할 생각이 안들어서 호수를 기준으로 (y, 0, x, sep='') 이나 (y, x, sep='') 로 출력했는데 그냥 y에 * 100하면 되는... 간단한... 방법을 생각을 못했었다.

반응형
Comments