[백준 문제풀이] 10250 ACM 호텔 (Javascript, python)

방예서·2022년 5월 2일
0

코딩테스트 준비

목록 보기
1/37
단계별로 풀어보기: 기본 수학1
팀 스터디에서 풀기로 한 10250번 문제 풀이이다.

백준 10250

python

# 10250 ACM 호텔 python

import sys
input = sys.stdin.readline

t = int(input())


def yourRoomIs(floor, room, customer):

    if floor == 1:
        yy = floor
        xx = customer
    elif (customer % floor) == 0:
        yy = floor
        xx = customer // floor
    else:
        yy = customer % floor
        xx = (customer // floor) + 1

    roomNum = (yy * 100) + xx

    return roomNum

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

단순 계산으로 풀었다.
있어보이려고 함수도 만들었다. (ㅋㅋ)
그랬더니 몫이 0인 경우와 층이 한 개 밖에 없는 경우에서 반례가 생겨서 추가해주었다.
약간 코드가 중복 되는 것 같아서 코드를 다시 보니까 if문이랑 elif가 똑같군 ... 수정하자.

# 10250 ACM 호텔 python

import sys
input = sys.stdin.readline

t = int(input())


def yourRoomIs(floor, room, customer):

    if (customer % floor) == 0:
        yy = floor
        xx = customer // floor
    else:
        yy = customer % floor
        xx = (customer // floor) + 1

    roomNum = (yy * 100) + xx

    return roomNum

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

Javascript


// 백준 10250 ACM 호텔 javascript

const fs = require('fs'); 
const [n, ...arr] = fs.readFileSync("./input.txt").toString()
  .trim()
  .split("\n");

let test = Number(n);
let testCase = arr.map(x => x.split(' '));

for (i=0; i<test; i++) {
  let h = testCase[i][0];
  let w = testCase[i][1];
  let n = testCase[i][2];

  let yy = n % h;
  let xx = Math.ceil(n / h);

  if (yy === 0) {
    yy = h;
    xx = n / h;
  }

  console.log((yy * 100) + xx);
}

파이썬으로 풀어놓은걸 거의 옮겼다 해도 과언이 아닌 ...
입력 부분 때문에 고생했다.
js 로 어려운 문제는 어케 풀지??? 망했따

profile
console.log('bang log');

0개의 댓글