한 걸음씩 기록하며

[백준] 10250번 ACM 호텔 본문

알고리즘 & 코딩테스트

[백준] 10250번 ACM 호텔

Haksae 2022. 3. 3. 10:56

⛏ 문제 파악

  • H층이고 W호실까지있는 호텔에 방 배정하는 문제
  • 처음에 입력되는 값이 테스트 데이터이기에 그 숫자만큼 for문을 돌려야한다.
  • n이 h의 배수일 경우와 아닐 경우를 나누어 작성해야한다.

👉🏻  답안

t = int(input())

for i in range(t):
  h, w, n = map(int, input().split(' '))
  x = n // h + 1
  y = n % h
  if n % h == 0:
    x = n // h
    y = h
  print(f'{y*100+x}')

📑  간단한 설명

  • x가 일반적이라면 // h+1을 해준다. 가령 15층짜리 호텔이라면 16번째 손님이 오면 102호를 주는 꼴이 된다.
  • 그러나 x가 0이 된다면 // h를 해준다. 가령 15층 짜리 호텔에 15번째 손님이 오면, 1501호를 주는 것이다.
  • 출력은 공백이 없어야하므로 f-string format을 사용했다.
  • y*100을 통해서 3자리 수부터 y가 출력되고 x가 일의 자리일 때의 출력 오류를 방지했다.
  • 아래와 같은 방식으로도 가능하지만 굳이 사용할 필요는 없다.
  if (x >= 10):
    print(f'{y}{x}')
  else :
    print(f'{y}0{x}')
Comments