Advertisement
Khizarce

Untitled

Jul 17th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. process.stdin.resume();
  2. process.stdin.setEncoding('utf-8');
  3.  
  4. var https = require('https');
  5. var __input_stdin = "";
  6. var __input_stdin_array = "";
  7. var __input_currentline = 0;
  8.  
  9. process.stdin.on('data', function (data) {
  10. __input_stdin += data;
  11. });
  12.  
  13. /*
  14. * Complete the function below.
  15. * Instead of returning the answer, log the answer to the console.
  16. * https://jsonmock.hackerrank.com/api/countries/search?name=
  17. */
  18.  
  19. function getCountries(s, p) {
  20. // using basic http module
  21. var counter = 0;
  22. https.get("https://jsonmock.hackerrank.com/api/countries/search?name=" + s, (resp) => {
  23. // Define placeholder variable for raw data.
  24. let data = '';
  25.  
  26. //Append incoming data chunk to data string.
  27. resp.on('data', (chunk) => {
  28. data += chunk;
  29. })
  30.  
  31. //data is now a string containing written in JSON format, need to convert it to JSON to be able to work with Instead
  32.  
  33. resp.on("end", function () {
  34. const parsedData = JSON.parse(data);
  35.  
  36. var countries = parsedData.data;
  37. for (let country of countries) {
  38. if (country.population > p) {
  39. counter += 1;
  40. //console.log(country.name + " - " + country.population);
  41. }
  42. }
  43. var pages = parsedData.total_pages;
  44. var pagetrack = 1;
  45. // Iteratively fetch more pages if they exist.
  46. if (pages > 1) {
  47. for (let i = 2; i <= pages; i++) {
  48. https.get("https://jsonmock.hackerrank.com/api/countries/search?name=" + s + '&page=' + i, function (response) {
  49. let data = '';
  50. response.on('data', (temp_data) => data += temp_data);
  51. response.on('end', () => {
  52. const parsedData = JSON.parse(data);
  53. pagetrack += 1;
  54. var countries = parsedData.data;
  55. for (let country of countries) {
  56. if (country.population > p) {
  57. counter += 1;
  58. //console.log(country.name + " - " + country.population);
  59. }
  60. }
  61. if (pagetrack === pages) {
  62. console.log(counter)
  63. }
  64. })
  65. })
  66. }
  67. } else {
  68. // Log number of countries found.
  69. console.log(counter);
  70. }
  71. });
  72. });
  73. }
  74.  
  75.  
  76.  
  77.  
  78.  
  79. process.stdin.on('end', function () {
  80. __input_stdin_array = __input_stdin.split("\n");
  81. var _s = __input_stdin_array[__input_currentline].trim();
  82. __input_currentline += 1;
  83. var _p = parseInt(__input_stdin_array[__input_currentline].trim());
  84. __input_currentline += 1;
  85. getCountries(_s, _p);
  86. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement