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