새소식

알고리즘 문제풀이/BOJ

[BOJ] 백준 10250번 ACM 호텔 자바(java) 풀이

  • -

BOJ 10250번 ACM호텔 문제 자바(java) 풀이

문제정리

  1. 호텔 정문에서 부터 걸어 가장 짧은 거리에 있는 방을 선호
  2. 건물은 W개의 방이 있는 H층 건물
  3. 엘리베이터는 가장 왼쪽에 있다.
  4. 호텔 정문은 일층 엘리베이터 바로 앞에 있다. (정문에서 엘리베이터까지 거리는 무시)
  5. 모든 인접한 두 방사이의 거리는 1
  6. 방 번호는 YXX, YYXX 형태 (Y, YY: 층수 / X, XX: 엘리베이터 쪽에서 세었을 때의 번호)
  7. 걷는 거리가 같다면 아래층을 선호한다.
  8. N번째로 도착한 손님에게 배정할 방을 계산해라

문제풀이

호수가 작고 층이 낮은 것 부터 배정한다.
N 과 H를 나눈 나머지에 따라 출력을 다르게 합니다.
다음과 같은 순서로 방을 배정해야 합니다.
101, 201, 301,...,H01
102, 202, 302,...,H02
...
10W, 20W, 30W, ..., H0W

  1. N % H == 0
    호 수는 N을 H로 나누었을 때의 몫이 됩니다.
    층 수는 H층이 됩니다.
    층 수에 100을 곱해서 호수를 더해줍니다.
  2. N % H != 0
    호수는 N을 H로 나눈 몫에 1을 더한 값이 됩니다.
    층 수는 N을 H로 나눈 나머지가 됩니다.
    층 수에 100을 곱해서 호수를 더해줍니다.

ACM 호텔 자바(java) 코드

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.