In this post, we will solve the Drawing Book Sequence HackerRank Solution. This problem (Drawing Book Sequence) is a part of the HackerRank Problem Solving series.

A teacher asks the class to open their books to a page number. A student can either start turning pages from the front of the book or from the back of the book. They always turn pages one at a time. When they open the book, page  is always on the right side:

Original Problem Link:

Drawing Book Hacker Rank Solution

Problem solution in JavaScript programming:

function pageCount(n, p) {
    //If n is pair > add 1 to it
    if( n%2 == 0){ n++}

    const maxFlip = n/2
    const flipNeeds= p/2

    if ((n/2)>p){
        return parseInt(flipNeeds)
        const reverse = maxFlip - parseInt(flipNeeds)
        return parseInt(reverse)

Problem solution in Python programming:

def pageCount(n, p):
    # Write your code here
    n = n // 2
    p = p // 2
    return min(n-p, p)

Problem solution in C++ programming:

int pageCount(int n, int p) {
    int turns=0;
        else if(n%2==0)
    return turns;

Problem solution in Ruby programming:

def pageCount(n, p)
  limit = n / 2
  n = n.even? ? n + 1 : n
  p = n - p if p > limit 
  p / 2

Categorized in: