Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- process.stdin.resume();
- process.stdin.setEncoding('utf-8');
- var https = require('https');
- var __input_stdin = "";
- var __input_stdin_array = "";
- var __input_currentline = 0;
- process.stdin.on('data', function (data) {
- __input_stdin += data;
- });
- /*
- * Complete the function below.
- * Instead of returning the answer, log the answer to the console.
- * https://jsonmock.hackerrank.com/api/countries/search?name=
- */
- function getCountries(s, p) {
- // using basic http module
- var counter = 0;
- https.get("https://jsonmock.hackerrank.com/api/countries/search?name=" + s, (resp) => {
- // Define placeholder variable for raw data.
- let data = '';
- //Append incoming data chunk to data string.
- resp.on('data', (chunk) => {
- data += chunk;
- })
- //data is now a string containing written in JSON format, need to convert it to JSON to be able to work with Instead
- resp.on("end", function () {
- const parsedData = JSON.parse(data);
- var countries = parsedData.data;
- for (let country of countries) {
- if (country.population > p) {
- counter += 1;
- //console.log(country.name + " - " + country.population);
- }
- }
- var pages = parsedData.total_pages;
- var pagetrack = 1;
- // Iteratively fetch more pages if they exist.
- if (pages > 1) {
- for (let i = 2; i <= pages; i++) {
- https.get("https://jsonmock.hackerrank.com/api/countries/search?name=" + s + '&page=' + i, function (response) {
- let data = '';
- response.on('data', (temp_data) => data += temp_data);
- response.on('end', () => {
- const parsedData = JSON.parse(data);
- pagetrack += 1;
- var countries = parsedData.data;
- for (let country of countries) {
- if (country.population > p) {
- counter += 1;
- //console.log(country.name + " - " + country.population);
- }
- }
- if (pagetrack === pages) {
- console.log(counter)
- }
- })
- })
- }
- } else {
- // Log number of countries found.
- console.log(counter);
- }
- });
- });
- }
- process.stdin.on('end', function () {
- __input_stdin_array = __input_stdin.split("\n");
- var _s = __input_stdin_array[__input_currentline].trim();
- __input_currentline += 1;
- var _p = parseInt(__input_stdin_array[__input_currentline].trim());
- __input_currentline += 1;
- getCountries(_s, _p);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement