Throw || JS hackerrank Solution

 Task

Complete the isPositive function below. It has one integer parameter, . If the value of is positive, it

must return the string YES . Otherwise, it must throw an Error according to the following rules:

If is , throw an Error with Zero Error .

If is negative, throw an Error with Negative Error .





Input Format

Locked stub code in the editor reads the following input from stdin and passes each value of to the

function as an argument:

The first line is an integer, , denoting the number of times the function will be called with some .

Each line of the subsequent lines contains an integer denoting some .

Constraints

Output Format

If the value of is positive, the function must return the string YES . Otherwise, it must throw an Error

according to the following rules:

If is , throw an Error with Zero Error .

If is negative, throw an Error with Negative Error .

Sample Input 0

3

1

2

3

Sample Output 0

YES

YES

YES

Explanation 0

Each of the given values is positive, so we return YES each time. The value returned during each function

call is printed on a new line by locked stub code in the editor.

Sample Input 1

3

2

0

6

Sample Output 1

YES

Zero Error

YES

Explanation 1

Locked stub code in the editor makes the following three calls to the isPositive function:

1. isPositive(2): This returns YES because is positive.

2. isPositive(0): Because , we throw an Error with Zero Error . This is caught by the

locked stub code and the value of its is printed.

3. isPositive(6): This returns YES because is positive.

Sample Input 2

2

-1

20

Sample Output 2

Negative Error

YES

Explanation 2

Locked stub code in the editor makes the following two calls to the isPositive function:

1. isPositive(-1): Because , we throw an Error with Negative Error . This is caught

by the locked stub code and the value of its is printed.

2. isPositive(20): This returns YES because is positive.

 

Solution:


  'use strict';

 

   process.stdin.resume();

    process.stdin.setEncoding('utf-8');

 

   let inputString = '';

    let currentLine = 0;

 

   process.stdin.on('data', inputStdin => {

    inputString += inputStdin;

   });

 

   process.stdin.on('end', _ => {

    inputString = inputString.trim().split('\n').map(string => {

        return string.trim();

    });

   

    main();   

   });

 

   function readLine() {

    return inputString[currentLine++];

  }

   function isPositive(a) {

 

        if(a>0){

           return "YES";

     

        }

    

         

          throw Error(a ?"Negative Error":"Zero Error");

  

   }

 

 

   function main() {

    const n = +(readLine());

   

    for (let i = 0; i < n; i++) {

        const a = +(readLine());

     

        try {

            console.log(isPositive(a));

        } catch (e) {

            console.log(e.message);

        }

       }

   }

No comments:

Post a Comment