[Python] 코딩 도장 - 게시판 페이징

Updated:

코딩 도장 사이트의 문제를 직접 풀어본 내용을 정리하여 올립니다.

코딩 도장에서 여러 문제를 확인할 수 있습니다.

난이도 순으로 차근차근 풀어보려 합니다.


[문제: 게시판 페이징] - Lv.1

A씨는 게시판 프로그램을 작성하고 있다.

A씨는 게시물의 총 건수와 한 페이지에 보여줄 게시물수를 입력으로 주었을 때 총 페이지수를 리턴하는 프로그램이 필요하다고 한다.

입력 : 총건수(m), 한페이지에 보여줄 게시물수(n) (단 n은 1보다 크거나 같다. n >= 1)
출력 : 총페이지수

A씨가 필요한 프로그램을 작성하시오.

예) 프로그램 수행 시 다음과 같은 결과값이 나와야 함.

m n 출력
0 1 0
1 1 1
2 1 2
1 10 1
10 10 1
11 10 2

출처: https://codingdojang.com/scode/406?answer_mode=hide


[풀이]

def total_page(m,n):
    if (m % n > 0):
        return (m // n) + 1
    return (m // n)

m = [0 ,1, 2, 1, 10, 11]
n = [1, 1, 1, 10, 10, 10]

for i,j in zip(m,n):
    print(f"m: {i}, n: {j}, 출력: {total_page(i,j)}")
m: 0, n: 1, 출력: 0
m: 1, n: 1, 출력: 1
m: 2, n: 1, 출력: 2
m: 1, n: 10, 출력: 1
m: 10, n: 10, 출력: 1
m: 11, n: 10, 출력: 2

총 건수(m)이 한 페이지에 표시할 게시물 수(n)으로 나누어 몫을 반환한다.

만약 나머지가 존재하면 몫에 1을 더해준다.


[추천 풀이]

import math

m = int(input('총건수: '))
n = int(input('한페이지에 보여줄 게시물수: '))

print(math.ceil(m/n))
총건수: 0
한페이지에 보여줄 게시물수: 1
0

다른 분들이 풀이한 내용 중 추천 수가 많은 풀이이다.

mathceil을 이용해서 간단하게 올림으로 계산한다.

Leave a comment