Learn JavaScript

lesson ā§­ / ⧝ ¡ if, switch āφāϰ loop

Module ā§Ē ¡ if, switch āφāϰ loop

Problem: if, switch āφāϰ loop

FreeProblem

āĻāχ lesson-āĻ āϝāĻž āĻļāĻŋāĻ–āĻŦ⧇

  • āĻ…āϜāĻžāύāĻž āĻĻ⧈āĻ°ā§āĻ˜ā§āϝ⧇āϰ input āĻĒāĻĄāĻŧāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ āĻāχ āĻĻāĻļāϟāĻžāϝāĻŧ āϞāĻžāĻ—āĻž āϤāĻŋāύāĻ­āĻžāĻŦ⧇: āφāϗ⧇ āĻāĻ•āϟāĻž count, āĻāĻ•āϟāĻž sentinel, āĻ…āĻĨāĻŦāĻž input āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āύāĻž āϝāĻžāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤
  • āĻĒā§āϰāϤāĻŋāϟāĻž problem-āĻāϰ āϜāĻ¨ā§āϝ āĻ āĻŋāĻ• loop-āĻāϰ āφāĻ•āĻžāϰ āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰāĻŦ⧇, āφāϰ āωāĻ¤ā§āϤāϰ āϜāĻžāύāĻžāĻŽāĻžāĻ¤ā§āϰ loop āĻĨāĻžāĻŽāĻžāϤ⧇ āĻĒāĻžāϰāĻŦ⧇ break, āĻāĻ•āϟāĻž flag āĻŦāĻž āĻāĻ•āϟāĻž labelled break āĻĻāĻŋāϝāĻŧ⧇āĨ¤
  • Submit āĻ•āϰāĻžāϰ āφāϗ⧇āχ hidden test-āĻāϰ āĻ•āĻŋāύāĻžāϰāĻžāϗ⧁āϞ⧋ āύāĻŋāĻœā§‡ test āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇: n = 1, āĻ āĻŋāĻ• āϏ⧀āĻŽāĻžāϰ āωāĻĒāϰ⧇āϰ āĻāĻ•āϟāĻž value, āĻāĻ•āϟāĻž āĻĢāĻžāρāĻ•āĻž input āφāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ āĻŽāĻžāĻĒāĨ¤

āĻĻāĻļāϟāĻž problem, Node 22-āĻ hidden test āĻĻāĻŋāϝāĻŧ⧇ grade āĻšāϝāĻŧ, āĻŽāĻžāύ⧇ Playground āϝ⧇ JavaScript āϚāĻžāϞāĻžāϝāĻŧ āϏ⧇āϟāĻžāχāĨ¤ āĻāĻĻ⧇āϰ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻžāϰ āϏāĻžāĻĨ⧇ āĻāχ module-āĻāχ āĻĻ⧇āĻ–āĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ steps-goal āĻ›āĻŋāϞ lesson 01-āĻ, āφāϰ letter-grade, day-name āφāϰ sum-until-zero āĻ›āĻŋāϞ lesson 02-āĻāĨ¤ Lesson 03-āĻ āĻ›āĻŋāϞ fizzbuzz, min-max-average, guessing-game āφāϰ count-primes, lesson 04-āĻ till-commands, āφāϰ first-pair-sum āĻ›āĻŋāϞ CP āφāϰ Interview Pack-āĻāĨ¤

Problem 1, 2 āφāϰ 5 (steps-goal, letter-grade āφāϰ fizzbuzz) āϏāĻŦāĻžāϰ āϜāĻ¨ā§āϝ freeāĨ¤ āĻŦāĻžāĻ•āĻŋ āϏāĻžāϤāϟāĻž Pro problem: āĻĒā§āϰāϤāĻŋāϟāĻž problem āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ lock āĻ•āϰāĻžāϰ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻž āφāϏāĻŦ⧇ āĻĒāϰ⧇āϰ āĻāĻ•āϟāĻž release-āĻ, āφāϰ āϤāĻžāϰ āφāĻ— āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĻāĻļāϟāĻžāχ āĻ–ā§‹āϞāĻžāĨ¤ Module test-āĻ āĻĻ⧁āĻŸā§‹ problem āφāϛ⧇, fizzbuzz āφāϰ min-max-average, āϤāĻžāχ āĻ āĻĻ⧁āĻŸā§‹ āĻāĻ–āĻžāύ⧇ āφāϗ⧇ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰ⧇ āϰāĻžāĻ–āĻž āĻ•āĻžāĻœā§‡āϰāĨ¤

Bob loop āϞ⧇āϖ⧇, sample āϚāĻžāϞāĻžāϝāĻŧ, submit āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧāĨ¤ Zara āφāϗ⧇ āύāĻŋāĻœā§‡āϰ program āϚāĻžāϞāĻŋāϝāĻŧ⧇ āĻĻ⧇āϖ⧇ n = 1 āĻĻāĻŋāϝāĻŧ⧇, āĻāĻ•āϟāĻžāĻ“ āφāĻ¨ā§āĻĻāĻžāϜ āĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•āϟāĻž input āĻĻāĻŋāϝāĻŧ⧇, āφāϰ āĻ āĻŋāĻ• 90 āύāĻŽā§āĻŦāϰ āĻĻāĻŋāϝāĻŧ⧇āĨ¤ āĻāχ set-āĻ hidden test-āϗ⧁āϞ⧋ āĻĨāĻžāϕ⧇ loop-āĻāϰ āĻĻ⧁āχ āĻŽāĻžāĻĨāĻžāϝāĻŧāĨ¤ āĻ“āϰāĻž āϧāϰ⧇ āĻĒā§āϰāĻĨāĻŽ pass, āĻļ⧇āώ pass, āφāϰ āϏ⧇āχ pass āϝ⧇āĻ–āĻžāύ⧇ loop-āĻāϰ āĻĨāĻžāĻŽāĻžāϰ āĻ•āĻĨāĻž āĻ›āĻŋāϞāĨ¤

Loop āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦā§‹āĻā§‡ āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώ

Starter āĻĒ⧁āϰ⧋ input-āϕ⧇ token-āĻ āĻ­āĻžāĻ— āĻ•āϰ⧇āĨ¤ Token āĻšāϞ⧋ space āĻŦāĻž line break-āĻāϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇āϰ āĻāĻ• āϟ⧁āĻ•āϰ⧋ textāĨ¤ next() āĻĒāϰ⧇āϰ token-āϟāĻž āĻĻ⧇āϝāĻŧ, āφāϰ nextInt() āĻ“āϟāĻžāϕ⧇ āϏāĻ‚āĻ–ā§āϝāĻž āĻŦāĻžāύāĻžāϝāĻŧāĨ¤ Token āĻĒāĻĄāĻŧāĻž āĻāĻ•āϟāĻž loop-āĻāϰ āφāϰāĻ“ āĻāĻ•āϟāĻž āϜāĻŋāύāĻŋāϏ āϞāĻžāϗ⧇: āĻ•āĻ–āύ āĻĒāĻĄāĻŧāĻž āĻĨāĻžāĻŽāĻžāϤ⧇ āĻšāĻŦ⧇ āϏ⧇āϟāĻž āĻŦā§‹āĻāĻžāϰ āωāĻĒāĻžāϝāĻŧāĨ¤

āĻāχ āĻĻāĻļāϟāĻž problem āϤāĻŋāύāϟāĻž āωāĻĒāĻžāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āφāϗ⧇ āĻāĻ•āϟāĻž count āĻĻ⧇āϝāĻŧ: n āĻĒāĻĄāĻŧā§‹, āϤāĻžāϰāĻĒāϰ n āĻŦāĻžāϰ loop āϚāĻžāϞāĻžāĻ“āĨ¤ sum-until-zero āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻž sentinel, āĻŽāĻžāύ⧇ āĻāĻŽāύ āĻāĻ•āϟāĻž āĻŦāĻŋāĻļ⧇āώ value āϝ⧇āϟāĻž āĻļ⧇āώ āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰ⧇ āφāϰ āύāĻŋāĻœā§‡ data-āϰ āĻ…āĻ‚āĻļ āύāĻž; āĻāĻ–āĻžāύ⧇ āϏ⧇āϟāĻž āĻĒā§āϰāĻĨāĻŽ 0āĨ¤ guessing-game āφāϰ till-commands āĻĒāĻĄāĻŧ⧇ input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ, āϕ⧋āύ⧋ count āĻŦāĻž sentinel āĻ›āĻžāĻĄāĻŧāĻžāχāĨ¤

Program input-āĻāϰ āĻļ⧇āώāϟāĻž āĻĻ⧇āϖ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇? Token āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϗ⧇āϞ⧇ next() āĻĻ⧇āϝāĻŧ undefined, āφāϰ nextInt() āĻĻ⧇āϝāĻŧ NaNāĨ¤ āĻāχ āϛ⧋āϟ program-āϟāĻž āĻĻ⧁āĻŸā§‹āχ āĻĻ⧇āĻ–āĻžāϝāĻŧ, input-āĻāϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻĻ⧁āĻŸā§‹ token-āĻāϰ āĻāĻ•āϟāĻž array āύāĻŋāϝāĻŧ⧇āĨ¤

const tokens = ["7", "3"];
let at = 0;
const next = () => tokens[at++];

console.log(next(), next(), next());
console.log(Number(undefined));
7 3 undefined
NaN

āϤāĻžāχ input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒāĻĄāĻŧāĻž loop token-āϟāĻžāϕ⧇āχ test āĻ•āϰ⧇: while (token !== undefined)āĨ¤ āϝ⧇ loop āĻāĻ•āϟāĻž token āĻŦ⧇āĻļāĻŋ āĻĒāĻĄāĻŧ⧇, āϏ⧇ undefined āĻĒāĻžāϝāĻŧ, āĻ“āϟāĻžāϕ⧇ NaN āĻŦāĻžāύāĻžāϝāĻŧ, āφāϰ āϝ⧇ āϝ⧋āĻ—āĻĢāϞ āϛ⧋āρāϝāĻŧ āϏ⧇āϟāĻžāχ āύāĻˇā§āϟ āĻ•āϰ⧇āĨ¤

Loop āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦā§‹āĻā§‡ āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώ Loop āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦā§‹āĻā§‡ āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώ, āϤāĻŋāύāĻ­āĻžāĻŦ⧇ āφāϗ⧇ āĻāĻ•āϟāĻž count steps-goal, fizzbuzz 3 n 8 2 5 āĻ āĻŋāĻ• n-āϟāĻž āĻĒāĻĄāĻŧā§‹, āϤāĻžāϰāĻĒāϰ āĻĨāĻžāĻŽā§‹ āĻāĻ•āϟāĻž sentinel sum-until-zero 5 -2 7 0 āĻļ⧇āώ 4 4 āĻ•āĻ–āύ⧋ āĻĒāĻĄāĻŧāĻž āĻšāϝāĻŧ āύāĻž Input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ guessing-game, till 50 25 75 undefined āĻļ⧇āώ token-āĻāϰ āĻĒāϰ⧇ next() āϟāĻžāύāĻž āĻŦāĻžāĻ•ā§āϏ: loop āϝ⧇ token-āϗ⧁āϞ⧋ āĻĒāĻĄāĻŧ⧇āĨ¤ āĻĄā§āϝāĻžāĻļ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻŦāĻžāĻ•ā§āϏ: āϝ⧇āϟāĻžāϕ⧇ āĻ•āĻ–āύ⧋ data āĻ­āĻžāĻŦāĻž āϝāĻžāĻŦ⧇ āύāĻžāĨ¤

āϤāĻŋāύāϟāĻž āϏāĻžāϰāĻŋāχ āĻļ⧇āώ āĻšāϝāĻŧ āĻāĻŽāύ āĻāĻ•āϟāĻž āĻŦāĻžāĻ•ā§āϏ⧇, āϝ⧇āϟāĻžāϕ⧇ loop-āϕ⧇ āϚāĻŋāύāϤ⧇ āĻšāĻŦ⧇ āĻ•āĻŋāĻ¨ā§āϤ⧁ data āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžāĻŦ⧇ āύāĻžāĨ¤ Count āφāϗ⧇ āĻĨ⧇āϕ⧇āχ āĻŦāϞ⧇ āĻĻ⧇āϝāĻŧ āĻŦāĻžāĻ•ā§āϏāϟāĻž āϕ⧋āĻĨāĻžāϝāĻŧ; sentinel āφāϰ undefined āϜāĻžāύāĻžāϝāĻŧ āĻļ⧁āϧ⧁ āĻ“āĻ–āĻžāύ⧇ āĻĒ⧌āρāĻ›āĻžāϞ⧇āĨ¤

āĻāχ āĻĻāĻļāϟāĻžāϝāĻŧ loop-āĻāϰ āφāĻ•āĻžāϰāϗ⧁āϞ⧋

āĻĒā§āϰāϤāĻŋāϟāĻž problem-āĻ āϞāĻžāϗ⧇ āϚāĻžāϰ āϰāĻ•āĻŽ loop-āĻāϰ āĻāĻ•āϟāĻžāĨ¤ Lesson 04-āĻāϰ flowchart āĻāϗ⧁āϞ⧋ āĻŦ⧇āϛ⧇ āύ⧇āϝāĻŧ āĻāĻ•āχ āĻĒā§āϰāĻļā§āύ āĻĻāĻŋāϝāĻŧ⧇: count āĻ•āĻŋ āϜāĻžāύāĻž, āφāϰ āφāϗ⧇āĻ­āĻžāϗ⧇ āĻĨāĻžāĻŽāϤ⧇ āĻšāĻŦ⧇ āĻ•āĻŋ?

  • āĻ—ā§‹āύāĻž āĻāĻ•āϟāĻž for loopāĨ¤ steps-goal, letter-grade, day-name, fizzbuzz āφāϰ min-max-average āφāϗ⧇ n āĻĒāĻĄāĻŧ⧇, āϤāĻžāχ loop āĻ āĻŋāĻ• n āĻŦāĻžāϰ āϚāϞ⧇āĨ¤
  • Sentinel āϏāĻš āĻāĻ•āϟāĻž while loopāĨ¤ sum-until-zero loop-āĻāϰ āφāϗ⧇ āĻāĻ•āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻĒāĻĄāĻŧ⧇, āφāϰ loop-āĻāϰ test āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āφāϗ⧇āχ āĻ“āϟāĻžāϕ⧇ check āĻ•āϰ⧇āĨ¤
  • Input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻāĻ•āϟāĻž while loopāĨ¤ guessing-game āφāϰ till-commands token-āϟāĻž undefined āĻ•āĻŋ āύāĻž āĻĻ⧇āϖ⧇, āφāϰ āĻĻ⧁āĻŸā§‹āχ āφāϗ⧇āĻ­āĻžāϗ⧇ āĻĨāĻžāĻŽāϤ⧇āĻ“ āĻĒāĻžāϰ⧇āĨ¤
  • āĻĻ⧁āĻŸā§‹ nested loopāĨ¤ count-primes āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋āϰ āωāĻĒāϰ āϚāϞāĻž āĻāĻ•āϟāĻž loop-āĻāϰ āϭ⧇āϤāϰ⧇ āϗ⧁āĻŖāĻŋāϤāĻ• āĻ•āĻžāĻŸā§‡, āφāϰ first-pair-sum āĻĒā§āϰāϤāĻŋāϟāĻž āĻœā§‹āĻĄāĻŧāĻž āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧇āĨ¤

Loop-āĻāϰ āϭ⧇āϤāϰ⧇ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤāϗ⧁āϞ⧋ āĻšāϝāĻŧ āĻāĻ•āϟāĻž if āφāϰ else if chain āĻĻāĻŋāϝāĻŧ⧇ (letter-grade, fizzbuzz), āύāϝāĻŧāϤ⧋ āĻāĻ•āϟāĻž switch āĻĻāĻŋāϝāĻŧ⧇ (day-name, till-commands)āĨ¤ āĻĻ⧁āĻŸā§‹āχ āĻĒā§āϰāĻĨāĻŽ āĻŽāĻŋāϞ⧇ āϝāĻžāĻ“āϝāĻŧāĻžāϤ⧇ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, āϤāĻžāχ test-āϗ⧁āϞ⧋āϰ āĻ•ā§āϰāĻŽāĻ“ āωāĻ¤ā§āϤāϰ⧇āϰ āĻ…āĻ‚āĻļāĨ¤

āφāϗ⧇āĻ­āĻžāϗ⧇ āĻĨāĻžāĻŽāĻž: break, āĻāĻ•āϟāĻž flag āφāϰ āĻāĻ•āϟāĻž label

āϤāĻŋāύāϟāĻž problem input āĻļ⧇āώ āĻšāĻ“āϝāĻŧāĻžāϰ āφāϗ⧇āχ āĻĨāĻžāĻŽā§‡āĨ¤ guessing-game āĻĨāĻžāĻŽā§‡ āĻ āĻŋāĻ• āφāĻ¨ā§āĻĻāĻžāĻœā§‡, till-commands āĻĨāĻžāĻŽā§‡ close-āĻ, āφāϰ first-pair-sum āĻĨāĻžāĻŽā§‡ āĻĒā§āϰāĻĨāĻŽ āĻœā§‹āĻĄāĻŧāĻžāϝāĻŧāĨ¤ āĻĒā§āϰāĻ¤ā§āϝ⧇āĻ•āϟāĻžāϰ āϞāĻžāϗ⧇ āφāϞāĻžāĻĻāĻž āϝāĻ¨ā§āĻ¤ā§āϰāĨ¤

break āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ•āĻžāϛ⧇āϰ loop āĻŦāĻž switch āĻĨ⧇āϕ⧇ āĻŦ⧇āϰ āĻšāϝāĻŧ, āφāϰ āĻļ⧁āϧ⧁ āĻ“āϟāĻž āĻĨ⧇āϕ⧇āχāĨ¤ āĻāĻ•āϟāĻž loop-āĻāϰ āϭ⧇āϤāϰ⧇ āĻŦāϏāĻž switch-āĻāϰ āϭ⧇āϤāϰ⧇ āĻāĻ•āϟāĻž break āĻŦ⧇āϰ āĻšāϝāĻŧ switch āĻĨ⧇āϕ⧇, āφāϰ loop āϚāϞāϤ⧇āχ āĻĨāĻžāϕ⧇āĨ¤ āϤāĻžāχ āϝ⧇ āĻĨāĻžāĻŽāĻžāϟāĻž switch-āĻāϰ āϭ⧇āϤāϰ⧇ āĻĨāĻžāϕ⧇, āϤāĻžāϰ āϞāĻžāϗ⧇ āĻāĻ•āϟāĻž flag, āĻŽāĻžāύ⧇ loop-āĻāϰ test āϝ⧇ boolean āĻĒāĻĄāĻŧ⧇, āύāϝāĻŧāϤ⧋ loop-āĻāϰ āĻ—āĻžāϝāĻŧ⧇ āĻāĻ•āϟāĻž labelāĨ¤

Label āĻšāϞ⧋ loop-āĻāϰ āϏāĻžāĻŽāύ⧇ colon āĻĻ⧇āĻ“āϝāĻŧāĻž āĻāĻ•āϟāĻž āύāĻžāĻŽ, āϝ⧇āĻŽāύ search:āĨ¤ āϤāĻ–āύ break search; āĻ“āχ loop āĻĨ⧇āϕ⧇ āĻŦ⧇āϰ āĻšāϝāĻŧ, āĻ“āϰ āϭ⧇āϤāϰ⧇āϰ āφāϰ⧇āĻ•āϟāĻž loop āĻĨ⧇āϕ⧇ āϞāĻŋāĻ–āϞ⧇āĻ“āĨ¤ āĻāĻ•āϟāĻž āωāĻ¤ā§āϤāϰ āϝāĻ–āύ āĻāĻ•āϏāĻžāĻĨ⧇ āĻĻ⧁āĻŸā§‹ loop āĻļ⧇āώ āĻ•āϰ⧇, āϤāĻ–āύ āĻāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋āĨ¤ āύāĻŋāĻšā§‡āϰ Example 3 āĻāϟāĻž āĻĻ⧇āĻ–āĻžāϝāĻŧ, āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻž problem-āĻāĨ¤

Hidden test āϝ⧇ āĻ•āĻŋāύāĻžāϰāĻžāϗ⧁āϞ⧋ āϧāϰ⧇

āĻĒā§āϰāϤāĻŋāϟāĻž problem-āĻ 11 āĻĨ⧇āϕ⧇ 15āϟāĻž hidden test, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž test file 1 MiB-āĻāϰ āύāĻŋāĻšā§‡ āĻĨāĻžāϕ⧇āĨ¤ āĻāϰāĻž āϚāϞ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ input āĻĨ⧇āϕ⧇, constraints āϝāϤāϟāĻž āĻŦāĻĄāĻŧ āĻšāϤ⧇ āĻĻ⧇āϝāĻŧ āφāϰ judge-āĻ āϝāϤāϟāĻž āφāρāĻŸā§‡ āϤāϤāϟāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤ āĻāχ āĻĻ⧁āχāϝāĻŧ⧇āϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇ āĻŦāϏ⧇ āφāϛ⧇ āϏ⧇āχ āĻ•āĻŋāύāĻžāϰāĻžāϗ⧁āϞ⧋, āϝ⧇āϗ⧁āϞ⧋ āύāĻŋāϝāĻŧ⧇ āĻāχ module āϤ⧋āĻŽāĻžāϕ⧇ āϏāĻžāĻŦāϧāĻžāύ āĻ•āϰ⧇āϛ⧇āĨ¤ Table-āϟāĻž āĻ“āĻĻ⧇āϰ āύāĻžāĻŽ āĻŦāϞ⧇ āĻĻ⧇āϝāĻŧ, āϝāĻžāϤ⧇ āϤ⧁āĻŽāĻŋ āφāϗ⧇āχ āĻ“āϗ⧁āϞ⧋ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāϰ⧋āĨ¤

ProblemAccessTestHidden test āϝāĻž āϚāĻžāϞāĻžāϝāĻŧ
steps-goalFree12n = 1, āϞāĻ•ā§āĻˇā§āϝ 0 āφāϰ 100000, āĻ āĻŋāĻ• āϞāĻ•ā§āĻˇā§āϝ⧇āϰ āωāĻĒāϰ āφāϰ āĻāĻ• step āĻ•āĻŽ āĻĻāĻŋāύ, 100000āϟāĻž āĻĻāĻŋāύ
letter-gradeFree1159 āφāϰ 60, 89 āφāϰ 90, 0 āφāϰ 100, -1 āφāϰ 101, -1000 āφāϰ 1000, -5 āĻĨ⧇āϕ⧇ 105 āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻŽā§āĻŦāϰ, 100000āϟāĻž āύāĻŽā§āĻŦāϰ
day-namePro11āϏāĻžāϤāϟāĻž āĻĻāĻŋāύāχ āĻĻ⧁āχ āĻ•ā§āϰāĻŽā§‡, 0, 8 āφāϰ negative āϏāĻ‚āĻ–ā§āϝāĻž, -1000 āφāϰ 1000, 100000āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž
sum-until-zeroPro12āϏāĻŦāĻžāϰ āφāϗ⧇ āĻāĻ•āϟāĻž 0, 0-āĻāϰ āĻĒāϰ⧇ āϏāĻ‚āĻ–ā§āϝāĻž, āĻ•āϝāĻŧ⧇āĻ•āϟāĻž 0, āĻ•āϝāĻŧ⧇āĻ• āϞāĻžāχāύ⧇ āĻ›āĻĄāĻŧāĻžāύ⧋ āϏāĻ‚āĻ–ā§āϝāĻž, 1000000-āĻāϰ 100000āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž
fizzbuzzFree13n = 1, 2, 3 āφāϰ 5, 15-āĻāϰ āĻĻ⧁āχ āĻĒāĻžāĻļ⧇ 14 āφāϰ 16, 30 āφāϰ 45, n = 100000
min-max-averagePro14n = 1, āϏāĻŦ negative, āϏāĻŦ positive, āϏāĻŦ āϏāĻŽāĻžāύ, 1.6666666666666667 āφāϰ 0.00001 āĻ—āĻĄāĻŧ, āĻĻ⧁āχ āĻŽāĻžāĻĨāĻž 1000000000 āφāϰ -1000000000
guessing-gamePro12āĻāĻ•āϟāĻžāĻ“ āφāĻ¨ā§āĻĻāĻžāϜ āύ⧇āχ, āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ⧇āχ āĻ āĻŋāĻ•, āĻ•āĻ–āύ⧋ āĻ āĻŋāĻ• āύāĻž, āĻ āĻŋāĻ• āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āĻĒāϰ⧇āĻ“ āφāĻ¨ā§āĻĻāĻžāϜ, 100-āĻāϰ āĻŦāĻŋāĻĒāĻ•ā§āώ⧇ 9 āφāϰ 1000, 100000āϟāĻž āφāĻ¨ā§āĻĻāĻžāϜ
till-commandsPro14āĻļ⧁āϧ⧁ close, āĻĢāĻžāρāĻ•āĻž till, āϕ⧋āύ⧋ sale-āĻāϰ āφāϗ⧇ total, 0-āĻāϰ āύāĻŋāĻšā§‡ āĻŽā§‹āϟ, āĻ…āĻšā§‡āύāĻž āĻļāĻŦā§āĻĻ āĻšāĻŋāϏ⧇āĻŦ⧇ sales āφāϰ closed, close-āĻāϰ āĻĒāϰ⧇ command, 100000āϟāĻž command
count-primesPro13n = 1, 2, 3 āφāϰ 4, 25 āφāϰ 49, 97, 1000000, 14999981 āφāϰ 15000000
first-pair-sumPro15āĻœā§‹āĻĄāĻŧāĻž āϏāĻš āφāϰ āĻœā§‹āĻĄāĻŧāĻž āĻ›āĻžāĻĄāĻŧāĻž n = 2, āĻāĻŽāύ āϏāĻ‚āĻ–ā§āϝāĻž āϝ⧇āϟāĻž āύāĻŋāĻœā§‡āϰ āϏāĻžāĻĨ⧇āχ āĻœā§‹āĻĄāĻŧāĻž āĻŦāĻžāρāϧāϤ, āĻāĻ•āĻĻāĻŽ āĻļ⧇āώ⧇ āĻœā§‹āĻĄāĻŧāĻž, āĻĒāϰ⧇āϰ i āĻ…āĻĨāϚ āϛ⧋āϟ j, āĻœā§‹āĻĄāĻŧāĻžāĻšā§€āύ n = 5000

āϛ⧋āϟ āĻ•āĻŋāύāĻžāϰāĻžāϗ⧁āϞ⧋ Playground-āĻ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻ–ā§‹āĨ¤ āĻ“āϰ stdin āĻŦāĻžāĻ•ā§āϏ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 10000āϟāĻž āĻ…āĻ•ā§āώāϰ āϧāϰ⧇, āϤāĻžāχ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ test-āϗ⧁āϞ⧋ āĻ“āĻ–āĻžāύ⧇ āφāρāĻŸā§‡ āύāĻžāĨ¤ āĻāχ āϏ⧀āĻŽāĻžāϟāĻž āĻŦāĻžāĻ•ā§āϏ⧇āϰ, judge-āĻāϰ āύāĻžāĨ¤ āϤāĻžāĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•āϟāĻž āĻ•āĻŋāύāĻžāϰāĻž āύāĻŋāϝāĻŧ⧇ āύāĻŋāĻœā§‡ āϞ⧇āĻ–āĻž āĻāĻ•āϟāĻž test āĻŦāĻĄāĻŧ test-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻ•āĻĨāĻž āĻŦāϞ⧇āĨ¤

āĻāχ āĻĻāĻļāϟāĻž problem-āĻ āϝ⧇ āϰ⧂āĻĒāϗ⧁āϞ⧋ āϞāĻžāϗ⧇

const n = nextInt();                       read a count first
for (let i = 0; i < n; i++) { ... }        the body runs n times
for (let i = 1; i <= n; i++) { ... }       i takes 1, 2, ... n, n included
let x = nextInt();                         read before a sentinel loop...
while (x !== 0) { ... x = nextInt(); }     ...and again at the end of each pass
let t = next();                            undefined once the input ends
while (t !== undefined) { ... t = next(); }
if (a) { ... } else if (b) { ... } else { ... }   the first true test wins
switch (v) { case 1: ... break; default: ... }    v === each case, top down
case 6: case 7: ...                        two cases share one body
break;                                     leave the nearest loop or switch
outer: for (...) { for (...) { break outer; } }   leave both loops
i % 3 === 0                                i is a multiple of 3
  • āύāĻŋāĻšā§‡āϰ āĻĒā§āϰāϤāĻŋāϟāĻž starter āĻāχ track-āĻāϰ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ starterāĨ¤ āĻ“āϰ āϞāĻžāχāύāϗ⧁āϞ⧋ āϝ⧇āĻŽāύ āφāϛ⧇ āϰāĻžāĻ–ā§‹, āφāϰ āύāĻŋāĻœā§‡āϰ code āϞ⧇āĻ–ā§‹ comment āϝ⧇āĻ–āĻžāύ⧇ āĻŦāϞ⧇ āϏ⧇āĻ–āĻžāύ⧇āĨ¤
  • āĻĒā§āϰāϤāĻŋāϟāĻž āωāĻ¤ā§āϤāϰ⧇āϰ āϜāĻ¨ā§āϝ output-āĻāϰ āĻāĻ•āϟāĻž āϞāĻžāχāύ push āĻ•āϰ⧋āĨ¤ āĻļāĻŦā§āĻĻāϗ⧁āϞ⧋ print āĻšāϝāĻŧ statement āϝ⧇āĻ­āĻžāĻŦ⧇ āϞ⧇āϖ⧇ āĻšā§āĻŦāĻšā§ āϏ⧇āĻ­āĻžāĻŦ⧇, āϛ⧋āϟ-āĻŦāĻĄāĻŧ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰāĻ“ āĻāĻ•āχāĨ¤
  • out-āĻ push āĻ•āϰāĻž number print āĻšāϝāĻŧ String() āϝ⧇āĻ­āĻžāĻŦ⧇ print āĻ•āϰ⧇ āϏ⧇āĻ­āĻžāĻŦ⧇, āϤāĻžāχ āĻ•āĻ–āύ⧋ āĻšāĻžāϤ⧇ format āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āύāĻžāĨ¤
Example 1: āφāϗ⧇āĻ­āĻžāϗ⧇ āĻĨāĻžāĻŽāĻž āĻāĻ•āϟāĻž āĻ—ā§‹āύāĻž loop

Zara āĻĻāĻŋāύ⧇ n āĻŦāĻžāϰ āĻĢā§‹āύ⧇āϰ battery-āϰ āϞ⧇āϭ⧇āϞ āϞāĻŋāϖ⧇ āϰāĻžāϖ⧇āĨ¤ āĻ“ āϚāĻžāϝāĻŧ 20-āĻāϰ āύāĻŋāĻšā§‡āϰ āĻĒā§āϰāĻĨāĻŽ reading-āϟāĻž, āφāϰ āĻ“āϟāĻž āĻĒ⧇āϝāĻŧ⧇ āϗ⧇āϞ⧇ āĻĒāĻĄāĻŧāĻž āĻĨāĻžāĻŽāĻŋāϝāĻŧ⧇ āĻĻāĻŋāϤ⧇āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

const n = nextInt();
let checked = 0;
let found = false;

for (let i = 1; i <= n; i++) {
  const level = nextInt();
  checked++;
  if (level < 20) {
    out.push("first low " + level + " at reading " + i);
    found = true;
    break;
  }
}
if (!found) {
  out.push("never low");
}
out.push("readings checked " + checked);

console.log(out.join("\n"));
first low 19 at reading 4
readings checked 4

āĻāχ output input 6 āφāϰ 85 60 41 19 12 50-āĻāϰ āϜāĻ¨ā§āϝāĨ¤ Loop āĻ›āϝāĻŧāϟāĻž pass-āĻāϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋ āĻ›āĻŋāϞ, āφāϰ break āĻ“āϟāĻžāϕ⧇ āϚāĻžāϰāϟāĻžāϰ āĻĒāϰ⧇āχ āĻļ⧇āώ āĻ•āϰ⧇ āĻĻāĻŋāϞāĨ¤ Flag found loop-āĻāϰ āĻĒāϰ⧇āϰ code-āϕ⧇ āϜāĻžāύāĻžāϝāĻŧ loop āϕ⧋āύ āĻĒāĻĨ⧇ āĻļ⧇āώ āĻšāϞ⧋, āϤāĻžāχ never low print āĻšāϝāĻŧ āĻļ⧁āϧ⧁ āϤāĻ–āύ, āϝāĻ–āύ āϕ⧋āύ⧋ reading-āχ āĻ•āĻŽ āĻ›āĻŋāϞ āύāĻžāĨ¤

Run in Compiler
Example 2: input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒāĻĄāĻŧāĻž loop-āĻāϰ āϭ⧇āϤāϰ⧇ āĻāĻ•āϟāĻž switch

Amara-āϰ driving simulator āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āϞāĻžāχāĻŸā§‡āϰ āϰāĻ‚ āĻĒāĻĄāĻŧ⧇, āĻĒā§āϰāϤāĻŋ token-āĻ āĻāĻ•āϟāĻž, input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤ āĻĻ⧁āĻŸā§‹ āĻŦāĻžāύāĻžāύ āĻāĻ•āχ āϞāĻžāχāϟ āĻŦā§‹āĻāĻžāϝāĻŧ, āϤāĻžāχ āĻ“āĻĻ⧇āϰ case-āϗ⧁āϞ⧋ āĻāĻ•āϟāĻž body āĻ­āĻžāĻ—āĻžāĻ­āĻžāĻ—āĻŋ āĻ•āϰ⧇āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

let lights = 0;
let colour = next();

while (colour !== undefined) {
  lights++;
  switch (colour) {
    case "green":
      out.push("go");
      break;
    case "amber":
    case "yellow":
      out.push("slow down");
      break;
    case "red":
      out.push("stop");
      break;
    default:
      out.push("unknown " + colour);
  }
  colour = next();
}
out.push("lights " + lights);

console.log(out.join("\n"));
go
slow down
stop
unknown blue
slow down
lights 5

āĻāχ output input green amber red blue yellow-āĻāϰ āϜāĻ¨ā§āϝāĨ¤ amber āφāϰ yellow āĻāĻ•āχ body-āϤ⧇ āĻĒ⧌āρāĻ›āĻžāϝāĻŧ, āĻ•āĻžāϰāĻŖ case "amber":-āĻāϰ āύāĻŋāĻœā§‡āϰ āϕ⧋āύ⧋ body āύ⧇āχ, āĻ“ āĻ—āĻĄāĻŧāĻŋāϝāĻŧ⧇ āĻĒāϰ⧇āϰāϟāĻžāϝāĻŧ āϚāϞ⧇ āϝāĻžāϝāĻŧāĨ¤ āĻāĻ–āĻžāύ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž break āĻļ⧁āϧ⧁ switch āĻĨ⧇āϕ⧇ āĻŦ⧇āϰ āĻšāϝāĻŧ, āφāϰ while loop āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇ āϝāϤāĻ•ā§āώāĻŖ āύāĻž next() āĻĻ⧇āϝāĻŧ undefinedāĨ¤

Run in Compiler
Example 3: āĻĻ⧁āĻŸā§‹ nested loop āφāϰ āĻāĻ•āϟāĻž labelled break

Kenji-āϰ cinema app āϏāĻžāϰāĻŋ āϧāϰ⧇ āϧāϰ⧇ āĻĒā§āϰāĻĨāĻŽ āĻ–āĻžāϞāĻŋ seat āĻ–ā§‹āρāĻœā§‡āĨ¤ Input āĻšāϞ⧋ āϏāĻžāϰāĻŋāϰ āϏāĻ‚āĻ–ā§āϝāĻž āφāϰ āĻĒā§āϰāϤāĻŋ āϏāĻžāϰāĻŋāϤ⧇ seat-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻž, āϤāĻžāϰāĻĒāϰ āĻĒā§āϰāϤāĻŋāϟāĻž āĻ­āϰāĻž seat-āĻāϰ āϜāĻ¨ā§āϝ 1 āφāϰ āĻ–āĻžāϞāĻŋ seat-āĻāϰ āϜāĻ¨ā§āϝ 0āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

const rows = nextInt();
const seats = nextInt();
let checked = 0;
let answer = "no free seat";

search: for (let r = 1; r <= rows; r++) {
  for (let s = 1; s <= seats; s++) {
    const taken = nextInt();
    checked++;
    if (taken === 0) {
      answer = "free seat: row " + r + ", seat " + s;
      break search;
    }
  }
}
out.push(answer);
out.push("seats checked " + checked);

console.log(out.join("\n"));
free seat: row 2, seat 3
seats checked 7

āĻāχ output input 3 4, āϤāĻžāϰāĻĒāϰ āϏāĻžāϰāĻŋ 1 1 1 1, 1 1 0 1 āφāϰ 0 1 1 1-āĻāϰ āϜāĻ¨ā§āϝāĨ¤ break search; seat 7-āĻ āĻĻ⧁āĻŸā§‹ loop āĻĨ⧇āϕ⧇āχ āĻŦ⧇āϰ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āϤāĻžāχ āϏāĻžāϰāĻŋ 3-āĻāϰ āĻ–āĻžāϞāĻŋ seat-āĻāϰ āĻĻāĻŋāϕ⧇ āϕ⧇āω āϤāĻžāĻ•āĻžāϝāĻŧāχ āύāĻžāĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ•āϟāĻž break āĻŦ⧇āϰ āĻšāϤ⧋ āĻļ⧁āϧ⧁ āϭ⧇āϤāϰ⧇āϰ loop āĻĨ⧇āϕ⧇, āφāϰ āϏāĻžāϰāĻŋ 3-āĻ“ āĻ–ā§‹āρāϜāĻž āĻšāϝāĻŧ⧇ āϝ⧇āϤāĨ¤

Run in Compiler

āĻāϟāĻž āϕ⧋āĻĨāĻžāϝāĻŧ āĻ•āĻžāĻœā§‡ āϞāĻžāϗ⧇

  • HTTP/1.1-āĻāϰ chunked transfer encodingāĨ¤ āϝ⧇ server āωāĻ¤ā§āϤāϰāϟāĻž stream āĻ•āϰ⧇ āĻĒāĻžāĻ āĻžāϝāĻŧ, āϏ⧇ āĻ“āϟāĻž āĻĒāĻžāĻ āĻžāϝāĻŧ āϟ⧁āĻ•āϰ⧋ āϟ⧁āĻ•āϰ⧋ āĻ•āϰ⧇, āĻĒā§āϰāϤāĻŋāϟāĻžāϰ āφāϗ⧇ āϤāĻžāϰ size, āφāϰ size 0-āĻāϰ āĻāĻ•āϟāĻž āϟ⧁āĻ•āϰ⧋ body āĻļ⧇āώ āĻ•āϰ⧇āĨ¤ āĻ“āχ 0 āĻāĻ•āϟāĻž sentinel, āĻšā§āĻŦāĻšā§ sum-until-zero-āĻāϰ āφāĻ•āĻžāϰāĨ¤
  • Node-āĻāϰ readline moduleāĨ¤ āĻāϟāĻž āĻāĻ•āϟāĻž stream āϞāĻžāχāύ āϧāϰ⧇ āϧāϰ⧇ āĻĒāĻĄāĻŧ⧇, āφāϰ input āĻļ⧇āώ āĻšāϞ⧇ āĻāĻ•āϟāĻž close event āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ Node-āĻ āϞ⧇āĻ–āĻž command-line tool āĻ“āχ event-āϕ⧇āχ āύāĻŋāĻœā§‡āϰ "input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ" test āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤
  • Unix-āĻāϰ head toolāĨ¤ head -n 10 āύāĻŋāĻœā§‡āϰ input-āĻāϰ āĻĒā§āϰāĻĨāĻŽ āĻĻāĻļāϟāĻž āϞāĻžāχāύ print āĻ•āϰ⧇ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, input āϝāϤ āϞāĻŽā§āĻŦāĻžāχ āĻšā§‹āĻ•āĨ¤ āĻāϟāĻž āφāϗ⧇āĻ­āĻžāϗ⧇ āĻŦ⧇āϰ āĻšāĻ“āϝāĻŧāĻž āĻāĻ•āϟāĻž āĻ—ā§‹āύāĻž loopāĨ¤
  • Array.prototype.findāĨ¤ ECMAScript specification āĻāϟāĻžāϕ⧇ āĻāĻŽāύ āĻāĻ•āϟāĻž loop āĻšāĻŋāϏ⧇āĻŦ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰ⧇, āϝ⧇āϟāĻž test āĻĒāĻžāĻļ āĻ•āϰāĻž āĻĒā§āϰāĻĨāĻŽ element-āϟāĻž āĻĢ⧇āϰāϤ āĻĻ⧇āϝāĻŧ āφāϰ āĻāϰ āĻĒāϰ⧇āϰ āĻ•āĻŋāϛ⧁āϰ āĻĻāĻŋāϕ⧇ āϤāĻžāĻ•āĻžāϝāĻŧ āύāĻžāĨ¤ Module 7 āĻāϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇; āϭ⧇āϤāϰ⧇ āĻāϟāĻž guessing-game-āĻāϰāχ āφāϗ⧇āĻ­āĻžāϗ⧇ āĻŦ⧇āϰ āĻšāĻ“āϝāĻŧāĻžāĨ¤

āϝ⧇ āϭ⧁āϞāϗ⧁āϞ⧋ āϏāĻŦāĻžāχ āĻ•āϰ⧇

ā§§. āĻāĻ•āϟāĻž token āĻŦ⧇āĻļāĻŋ āĻĒāĻĄāĻŧāĻžāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

const n = nextInt();
let sum = 0;
for (let i = 0; i <= n; i++) {
  sum += nextInt();
}
out.push(sum);

console.log(out.join("\n"));
NaN

āĻāϟāĻž input 3 āφāϰ 4 5 6-āĻāϰ outputāĨ¤ i = 0 āφāϰ i <= n āĻĻāĻŋāϝāĻŧ⧇ loop āϚāϞ⧇ āϚāĻžāϰāĻŦāĻžāϰ, āφāϰ āϚāĻžāϰ āύāĻŽā§āĻŦāϰ nextInt() āĻĻ⧇āϝāĻŧ NaNāĨ¤ āϕ⧋āύ⧋ error āύ⧇āχ, āϤāĻžāχ āĻŸā§‡āϰ āĻĒāĻžāĻŦ⧇ āĻļ⧁āϧ⧁ judge-āĻāϰ Wrong Answer āĻĻ⧇āϖ⧇āĨ¤ āĻāχ āϭ⧁āϞāϟāĻž āϤ⧁āĻŽāĻŋāĻ“ āĻ•āϰāĻŦ⧇, āĻ•āĻžāϰāĻŖ 1 āĻĨ⧇āϕ⧇ āϗ⧁āύāϞ⧇ <= n āĻ āĻŋāĻ•āχ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤ 0 āĻĨ⧇āϕ⧇ āϗ⧁āύāϞ⧇ < n, 1 āĻĨ⧇āϕ⧇ āϗ⧁āύāϞ⧇ <= nāĨ¤

⧍. Loop āĻļ⧇āώ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ switch-āĻāϰ āϭ⧇āϤāϰ⧇ breakāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

let word = next();
while (word !== undefined) {
  switch (word) {
    case "stop":
      break;
    default:
      out.push(word);
  }
  word = next();
}

console.log(out.join("\n"));
ready
set
go

Input āĻāĻ–āĻžāύ⧇ ready set stop go, āφāϰ go āĻ•āĻ–āύ⧋āχ print āĻšāĻ“āϝāĻŧāĻžāϰ āĻ•āĻĨāĻž āύāĻžāĨ¤ break āĻŦ⧇āϰ āĻšāϝāĻŧ⧇āϛ⧇ switch āĻĨ⧇āϕ⧇, āϝ⧇āϟāĻž āĻ“āϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ•āĻžāϛ⧇ āĻ›āĻŋāϞ, āφāϰ loop āĻĒāĻĄāĻŧ⧇āχ āϚāϞ⧇āϛ⧇āĨ¤ āĻāχ āϭ⧁āϞāϟāĻž āϤ⧁āĻŽāĻŋāĻ“ āĻ•āϰāĻŦ⧇, āĻ•āĻžāϰāĻŖ āĻĻ⧁āχ āϜāĻžāϝāĻŧāĻ—āĻžāϤ⧇āχ break āĻŽāĻžāύ⧇ "āĻĨāĻžāĻŽā§‹"āĨ¤ Loop āĻļ⧇āώ āĻ•āϰ⧋ āĻ“āϰ test-āĻ āĻāĻ•āϟāĻž flag āĻĻāĻŋāϝāĻŧ⧇, āύāϝāĻŧāϤ⧋ loop-āĻāϰ āĻ—āĻžāϝāĻŧ⧇ āĻāĻ•āϟāĻž label āĻŦāϏāĻŋāϝāĻŧ⧇ āϏ⧇āχ label āϏāĻš break āϞ⧇āĻ–ā§‹āĨ¤

ā§Š. Sentinel-āϕ⧇ data āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ—ā§‹āύāĻžāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

let count = 0;
let total = 0;
let age = 0;
do {
  age = nextInt();
  count++;
  total += age;
} while (age !== -1);
out.push(count + " ages, total " + total);

console.log(out.join("\n"));
3 ages, total 39

Input 20 20 -1, āϝ⧇āĻ–āĻžāύ⧇ -1 āĻļ⧇āώ āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰ⧇, āϤāĻžāχ āωāĻ¤ā§āϤāϰ 2āϟāĻž āĻŦāϝāĻŧāϏ āφāϰ āĻŽā§‹āϟ 40āĨ¤ do...while loop āύāĻŋāĻœā§‡āϰ test-āĻāϰ āφāϗ⧇ body āϚāĻžāϞāĻžāϝāĻŧ, āϤāĻžāχ test āĻĻ⧇āĻ–āĻžāϰ āφāϗ⧇āχ -1 āĻ—ā§‹āύāĻž āφāϰ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϝāĻŧ⧇ āϗ⧇āϛ⧇āĨ¤ While loop-āĻāϰ āφāϗ⧇ āĻāĻ•āĻŦāĻžāϰ āĻĒāĻĄāĻŧā§‹, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž pass-āĻāϰ āĻļ⧇āώ āϞāĻžāχāύ⧇ āφāĻŦāĻžāϰ āĻĒāĻĄāĻŧā§‹āĨ¤

ā§Ē. 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āϚāϞāϤāĻŋ minimumāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

const n = nextInt();
let coldest = 0;
for (let i = 0; i < n; i++) {
  const t = nextInt();
  if (t < coldest) {
    coldest = t;
  }
}
out.push("coldest " + coldest);

console.log(out.join("\n"));
coldest 0

Input 3 āφāϰ 5 8 3āĨ¤ āϕ⧋āύ⧋ reading-āχ 0 āĻ›āĻŋāϞ āύāĻž, āϤāĻŦ⧁ 0 āϜāĻŋāϤ⧇ āϗ⧇āϞ, āĻ•āĻžāϰāĻŖ āϕ⧇āω āĻ“āϕ⧇ āĻšāĻžāϰāĻžāϤ⧇ āĻĒāĻžāϰ⧇āύāĻŋāĨ¤ 0-āĻāϰ āύāĻŋāĻšā§‡āϰ āϕ⧋āύ⧋ value āĻĨāĻžāĻ•āϞ⧇ program āĻ āĻŋāĻ•āχ āϚāϞ⧇, āφāϰ āĻāϜāĻ¨ā§āϝāχ negative āϏāĻ‚āĻ–ā§āϝāĻžāĻ“āϝāĻŧāĻžāϞāĻž sample āϭ⧁āϞāϟāĻž āϞ⧁āĻ•āĻŋāϝāĻŧ⧇ āϰāĻžāϖ⧇āĨ¤ āϚāϞāϤāĻŋ minimum āĻŦāĻž maximum āĻļ⧁āϰ⧁ āĻ•āϰ⧋ āĻĒā§āϰāĻĨāĻŽ āĻĒāĻĄāĻŧāĻž value āĻĨ⧇āϕ⧇āĨ¤

āĻŽāĻžāĻĨāĻž āĻ–āĻžāϟāĻžāĻ“

Zara āĻāĻ•āϟāĻž āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āύāĻŋāϝāĻŧ⧇ guessing-game āϖ⧇āϞ⧇āĨ¤ āĻ“ āϏāĻŦāϏāĻŽāϝāĻŧ āĻāĻ–āύāĻ“ āϏāĻŽā§āĻ­āĻŦ āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋āϰ āĻ āĻŋāĻ• āĻŽāĻžāĻā§‡āϰāϟāĻž āφāĻ¨ā§āĻĻāĻžāϜ āĻ•āϰ⧇, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž higher āĻŦāĻž lower-āĻāϰ āĻĒāϰ⧇ āϏ⧇āχ āĻ…āĻ°ā§āϧ⧇āĻ•āϟāĻž āĻĢ⧇āϞ⧇ āĻĻ⧇āϝāĻŧ āϝ⧇āĻ–āĻžāύ⧇ āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤ āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž 1 āĻĨ⧇āϕ⧇ 1000000000-āĻāϰ āϝ⧇āϕ⧋āύ⧋āϟāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

Zara-āϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻ•āϝāĻŧāϟāĻž āφāĻ¨ā§āĻĻāĻžāϜ āϞāĻžāĻ—āϤ⧇ āĻĒāĻžāϰ⧇? Bob āĻŦāϞ⧇, āĻāĻ• million-āĻ“ āϞāĻžāĻ—āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĒā§āϰāϤāĻŋāϟāĻž āϭ⧁āϞ āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āĻĒāϰ⧇ āĻŦāĻĄāĻŧāĻœā§‹āϰ āĻ…āĻ°ā§āϧ⧇āĻ• āϏāĻ‚āĻ–ā§āϝāĻž āϏāĻŽā§āĻ­āĻŦ āĻĨāĻžāϕ⧇āĨ¤ āĻ•āϝāĻŧāĻŦāĻžāϰ āĻ…āĻ°ā§āϧ⧇āĻ• āĻ•āϰāϞ⧇ 1000000000āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āύ⧇āĻŽā§‡ āĻāĻ•āϟāĻžāϝāĻŧ āφāϏ⧇?

Problem 1: steps-goalāϏāĻšāϜFree

Zara-āϰ step counter āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āĻ“ āĻ•āϤ step āĻšāĻžāρāϟāϞ āϏ⧇āϟāĻž āϞāĻŋāϖ⧇ āϰāĻžāϖ⧇, āφāϰ āĻ“āϰ āϞāĻ•ā§āĻˇā§āϝ āĻĻāĻŋāύ⧇ g stepāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž āĻĻāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ“ āϜāĻžāύāϤ⧇ āϚāĻžāϝāĻŧ āϞāĻ•ā§āĻˇā§āϝ āĻĒā§‚āϰāĻŖ āĻšāϞ⧋ āĻ•āĻŋ āύāĻž, āφāϰ āĻļ⧇āώ⧇ āϜāĻžāύāϤ⧇ āϚāĻžāϝāĻŧ āĻ•āϝāĻŧ āĻĻāĻŋāύ āĻšāϞ⧋āĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ n āφāϰ āϞāĻ•ā§āĻˇā§āϝ gāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ⧇ n-āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻž: āĻ•ā§āϰāĻŽ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ⧇āϰ stepāĨ¤

Output. n + 1-āϟāĻž āϞāĻžāχāύāĨ¤ āĻ•ā§āϰāĻŽ āϧāϰ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž āĻĻāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧋ met, āϝāĻĻāĻŋ āĻ“āχ āĻĻāĻŋāύ⧇āϰ step āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ g āĻšāϝāĻŧ, āύāχāϞ⧇ shortāĨ¤ āĻļ⧇āώ āϞāĻžāχāύ⧇ āĻĨāĻžāĻ•āĻŦ⧇ āĻ•āϝāĻŧ āĻĻāĻŋāύ āϞāĻ•ā§āĻˇā§āϝ āĻĒā§‚āϰāĻŖ āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

Constraints. 1 <= n <= 100000āĨ¤ 0 <= g <= 100000āĨ¤ 0 <= step <= 100000āĨ¤

Sample. Input 5 8000 āφāϰ 7500 8000 12030 0 9100 āĻĻāĻŋāϞ⧇ āĻ›āϝāĻŧ āϞāĻžāχāύ⧇ short, met, met, short, met āφāϰ 3āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āĻ āĻŋāĻ• g step-āĻāϰ āĻāĻ•āϟāĻž āĻĻāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ "āĻ•āĻŽāĻĒāĻ•ā§āώ⧇" āĻŽāĻžāύ⧇ āϕ⧀? āϕ⧋āύ āϤ⧁āϞāύāĻžāϰ operator āĻāϟāĻž āĻŦāϞ⧇?

Hint 2

āφāϗ⧇ n āφāϰ g āĻĒāĻĄāĻŧā§‹āĨ¤ āϤāĻžāϰāĻĒāϰ n āĻŦāĻžāϰ loop āϚāĻžāϞāĻžāĻ“: āĻāĻ•āϟāĻž āĻĻāĻŋāύ āĻĒāĻĄāĻŧā§‹, āĻāĻ•āϟāĻž āĻļāĻŦā§āĻĻ push āĻ•āϰ⧋, āφāϰ āϝ⧇ āĻĻāĻŋāύāϗ⧁āϞ⧋ āĻ—ā§‹āύāĻžāϰ āĻŽāϤ⧋ āϏ⧇āϗ⧁āϞ⧋āϤ⧇ āĻāĻ•āϟāĻž counter-āĻ 1 āϝ⧋āĻ— āĻ•āϰ⧋āĨ¤ Counter-āϟāĻž push āĻ•āϰ⧋ āĻāĻ•āĻŦāĻžāϰāχ, loop-āĻāϰ āĻĒāϰ⧇āĨ¤

Solution

n āĻŦāĻžāϰ āϚāϞāĻž āĻāĻ•āϟāĻž for loop āĻĒā§āϰāϤāĻŋāϟāĻž āĻĻāĻŋāύ nextInt() āĻĻāĻŋāϝāĻŧ⧇ āĻĒāĻĄāĻŧ⧇ āφāϰ >= āĻĻāĻŋāϝāĻŧ⧇ āϤ⧁āϞāύāĻž āĻ•āϰ⧇, āϝ⧇āϟāĻž "āĻ•āĻŽāĻĒāĻ•ā§āώ⧇"-āϰ operatorāĨ¤ āϞāĻ•ā§āĻˇā§āϝ āĻĒā§‚āϰāϪ⧇āϰ āĻĻāĻŋāύ push āĻ•āϰ⧇ met āφāϰ 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āĻāĻ•āϟāĻž counter-āĻ 1 āϝ⧋āĻ— āĻ•āϰ⧇, āφāϰ counter push āĻšāϝāĻŧ loop-āĻāϰ āĻĒāϰ⧇āĨ¤ g = 0 āĻšāϞ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž āĻĻāĻŋāύāχ met, 0 step-āĻāϰ āĻĻāĻŋāύāĻ“āĨ¤

>=-āĻāϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ > āϞāĻŋāĻ–āϞ⧇ sample-āĻāϰ 8000 step-āĻāϰ āĻĻāĻŋāύāϟāĻž short āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āφāϰ sample āϏ⧇āϟāĻž āϧāϰ⧇ āĻĢ⧇āϞ⧇āĨ¤ Step-āϗ⧁āϞ⧋ next() āĻĻāĻŋāϝāĻŧ⧇ āĻĒāĻĄāĻŧāϞ⧇ text āĻŽā§‡āϞāĻžāύ⧋ āĻšāϝāĻŧ, āφāϰ "12030" >= "8000" false, āĻ•āĻžāϰāĻŖ "1" āφāϏ⧇ "8"-āĻāϰ āφāϗ⧇āĨ¤ steps && steps >= g-āĻāϰ āĻŽāϤ⧋ test āϞāĻ•ā§āĻˇā§āϝ 0 āĻšāϞ⧇āĻ“ 0 step-āĻāϰ āĻĻāĻŋāύāϕ⧇ short āĻŦāϞ⧇, āφāϰ āĻāĻ•āϟāĻž hidden test āĻ āĻŋāĻ• āĻāϟāĻžāχ āϚāĻžāϞāĻžāϝāĻŧāĨ¤

Problem 2: letter-gradeāϏāĻšāϜFree

Maria āĻ“āϰ āĻ•ā§āϞāĻžāϏ⧇āϰ āĻĒāϰ⧀āĻ•ā§āώāĻž 100-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āύāĻŽā§āĻŦāϰ āĻĻāĻŋāϝāĻŧ⧇ āĻĻ⧇āϖ⧇, āϤāĻžāϰāĻĒāϰ āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻŽā§āĻŦāϰāϕ⧇ āĻāĻ•āϟāĻž letter grade āĻŦāĻžāύāĻžāϝāĻŧāĨ¤ āĻ•āϝāĻŧ⧇āĻ•āϟāĻž āύāĻŽā§āĻŦāϰ āϭ⧁āϞ āϟāĻžāχāĻĒ āĻšāϝāĻŧ⧇āϛ⧇, āϝ⧇āĻŽāύ 101 āĻŦāĻž -1, āφāϰ āĻ“ āϚāĻžāϝāĻŧ āĻ“āϗ⧁āϞ⧋āϕ⧇ grade āύāĻž āĻĻāĻŋāϝāĻŧ⧇ āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāϤ⧇āĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ nāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ⧇ n-āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻž, āĻŽāĻžāύ⧇ āύāĻŽā§āĻŦāϰāϗ⧁āϞ⧋āĨ¤

Output. n-āϟāĻž āϞāĻžāχāύ, āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻŽā§āĻŦāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž, input-āĻāϰ āĻ•ā§āϰāĻŽā§‡āĨ¤ 90 āĻĨ⧇āϕ⧇ 100 āĻšāϞ⧇ print āĻ•āϰ⧋ A, 80 āĻĨ⧇āϕ⧇ 89 āĻšāϞ⧇ B, 70 āĻĨ⧇āϕ⧇ 79 āĻšāϞ⧇ CāĨ¤ 60 āĻĨ⧇āϕ⧇ 69 āĻšāϞ⧇ D, āφāϰ 0 āĻĨ⧇āϕ⧇ 59 āĻšāϞ⧇ FāĨ¤ āύāĻŽā§āĻŦāϰ 0-āĻāϰ āύāĻŋāĻšā§‡ āĻŦāĻž 100-āĻāϰ āωāĻĒāϰ⧇ āĻšāϞ⧇ print āĻ•āϰ⧋ invalidāĨ¤

Constraints. 1 <= n <= 100000āĨ¤ -1000 <= āύāĻŽā§āĻŦāϰ <= 1000āĨ¤

Sample. Input 7 āφāϰ 95 89 70 65 59 101 -1 āĻĻāĻŋāϞ⧇ āϏāĻžāϤ āϞāĻžāχāύ⧇ A, B, C, D, F, invalid āφāϰ invalidāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āϝ⧇ test āφāϗ⧇ āϚāϞ⧇, āϏ⧇-āχ āϤāĻžāϰ āĻĒāϰ⧇āϰ āϏāĻŦāĻ•āĻŋāϛ⧁ āĻ āĻŋāĻ• āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻĒā§āϰāĻĨāĻŽ test āϝāĻĻāĻŋ āϜāĻŋāĻœā§āĻžā§‡āϏ āĻ•āϰ⧇ āύāĻŽā§āĻŦāϰ āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ 60 āĻ•āĻŋ āύāĻž, āϤāĻžāĻšāϞ⧇ 95-āĻāϰ āϕ⧀ āĻšāϝāĻŧ?

Hint 2

āφāϗ⧇ invalid āύāĻŽā§āĻŦāϰāϗ⧁āϞ⧋ āĻŦāĻžāĻĻ āĻĻāĻžāĻ“āĨ¤ āϤāĻžāϰāĻĒāϰ āĻ­āĻžāĻ—āϗ⧁āϞ⧋ test āĻ•āϰ⧋ āωāĻĒāϰ āĻĨ⧇āϕ⧇ āύāĻŋāĻšā§‡, A āφāϗ⧇, āϝāĻžāϤ⧇ āĻĒāϰ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻž test-āĻāϰ āĻļ⧁āϧ⧁ āύāĻŋāĻœā§‡āϰ āĻ­āĻžāϗ⧇āϰ āύāĻŋāĻšā§‡āϰ āĻŽāĻžāĻĨāĻžāϟāĻž āϞāĻžāϗ⧇āĨ¤

Solution

if āφāϰ else if chain āĻĒā§āϰāĻĨāĻŽ true āĻļāĻ°ā§āϤ⧇ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧāĨ¤ 0-āĻāϰ āύāĻŋāĻšā§‡āϰ āφāϰ 100-āĻāϰ āωāĻĒāϰ⧇āϰ āύāĻŽā§āĻŦāϰ āĻŦāĻžāĻĻ āϗ⧇āϞ⧇ mark >= 90 āĻŽāĻžāύ⧇ āϕ⧇āĻŦāϞ 90 āĻĨ⧇āϕ⧇ 100āĨ¤ āĻĒāϰ⧇āϰ test mark >= 80 āĻŽāĻžāύ⧇ āϕ⧇āĻŦāϞ 80 āĻĨ⧇āϕ⧇ 89, āĻ•āĻžāϰāĻŖ 90 āφāϰ āϤāĻžāϰ āωāĻĒāϰ⧇āϰ āύāĻŽā§āĻŦāϰ āĻ“āĻ–āĻžāύ⧇ āĻĒ⧌āρāĻ›āĻžāϝāĻŧāχ āύāĻžāĨ¤ āĻāĻŽāύ āϚāĻžāϰāϟāĻž test āφāϰ F-āĻāϰ āϜāĻ¨ā§āϝ āĻļ⧇āώ⧇ āĻāĻ•āϟāĻž else āĻĒā§āϰāϤāĻŋāϟāĻž āĻŦ⧈āϧ āύāĻŽā§āĻŦāϰ āϏāĻžāĻŽāϞāĻžāϝāĻŧāĨ¤

>=-āĻāϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ > āĻĻāĻŋāϞ⧇ āϏ⧀āĻŽāĻžāϰ āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻŽā§āĻŦāϰ āĻāĻ• letter āύāĻŋāĻšā§‡ āύ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, āϤāĻžāχ 70 āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ D āφāϰ sample āĻĢ⧇āϞ āĻ•āϰ⧇āĨ¤ Invalid test āĻšāĻŋāϏ⧇āĻŦ⧇ mark >= 100 āϞāĻŋāĻ–āϞ⧇ āĻĒ⧁āϰ⧋ 100 āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ invalid, āφāϰ mark <= 0 āĻāĻ•āχ āĻ•āĻžāϜ āĻ•āϰ⧇ 0-āĻāϰ āϏāĻžāĻĨ⧇; hidden test āĻĻ⧁āχ āĻŽāĻžāĻĨāĻžāχ āϚāĻžāϞāĻžāϝāĻŧāĨ¤ āύāĻŋāϚ āĻĨ⧇āϕ⧇ āωāĻĒāϰ⧇ āϞ⧇āĻ–āĻž chain, āĻŽāĻžāύ⧇ 60-āĻāϰ test āφāϗ⧇, 60 āĻĨ⧇āϕ⧇ 100-āĻāϰ āĻĒā§āϰāϤāĻŋāϟāĻž āύāĻŽā§āĻŦāϰ⧇āϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧇ DāĨ¤

Problem 3: day-nameāϏāĻšāϜPro

David-āĻāϰ calendar app āĻāĻ•āϟāĻž āĻĻāĻŋāύāϕ⧇ āϰāĻžāϖ⧇ āĻāĻ•āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻšāĻŋāϏ⧇āĻŦ⧇: 1 āĻŽāĻžāύ⧇ Monday āφāϰ 7 āĻŽāĻžāύ⧇ SundayāĨ¤ āĻ“ āĻĒā§āϰāϤāĻŋāϟāĻž āĻĻāĻŋāύ⧇āϰ āύāĻžāĻŽ āϚāĻžāϝāĻŧ, āĻĻāĻŋāύāϟāĻž weekend āĻ•āĻŋ āύāĻž āϜāĻžāύāϤ⧇ āϚāĻžāϝāĻŧ, āφāϰ 1 āĻĨ⧇āϕ⧇ 7-āĻāϰ āĻŦāĻžāχāϰ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻžāϕ⧇ bug āĻšāĻŋāϏ⧇āĻŦ⧇ āϚāĻŋāĻšā§āύāĻŋāϤ āĻ•āϰāϤ⧇ āϚāĻžāϝāĻŧāĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ nāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ⧇ n-āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻžāĨ¤

Output. n-āϟāĻž āϞāĻžāχāύ, āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž, input-āĻāϰ āĻ•ā§āϰāĻŽā§‡: āĻĻāĻŋāύ⧇āϰ āχāĻ‚āϰ⧇āϜāĻŋ āύāĻžāĻŽ, āĻāĻ•āϟāĻž space, āϤāĻžāϰāĻĒāϰ 1 āĻĨ⧇āϕ⧇ 5 āĻšāϞ⧇ weekday āφāϰ 6 āĻŦāĻž 7 āĻšāϞ⧇ weekendāĨ¤ āĻ…āĻ¨ā§āϝ āϝ⧇āϕ⧋āύ⧋ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧋ invalidāĨ¤ āύāĻžāĻŽāϗ⧁āϞ⧋ āĻšāϞ⧋ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday āφāϰ SundayāĨ¤

Constraints. 1 <= n <= 100000āĨ¤ -1000 <= āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž <= 1000āĨ¤

Sample. Input 4 āφāϰ 1 6 7 9 āĻĻāĻŋāϞ⧇ āϚāĻžāϰ āϞāĻžāχāύ⧇ Monday weekday, Saturday weekend, Sunday weekend āφāϰ invalidāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āϏāĻžāϤāϟāĻž āĻĻāĻŋāύ⧇āϰ āĻĻ⧁āĻŸā§‹āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻļāĻŦā§āĻĻ āĻāĻ•āχāĨ¤ āĻāĻ•āϟāĻž switch-āĻāϰ āĻĻ⧁āĻŸā§‹ case āĻ•āĻŋ āĻāĻ•āϟāĻž body āĻ­āĻžāĻ—āĻžāĻ­āĻžāĻ—āĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇?

Hint 2

āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻžāϰ āωāĻĒāϰ switch āĻ•āϰ⧋āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž weekday-āϰ case āύāĻŋāĻœā§‡āϰ āύāĻžāĻŽ āĻŦāϏāĻžāϝāĻŧ āφāϰ āĻāĻ•āϟāĻž break āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻšāϝāĻŧāĨ¤ Weekend-āĻāϰ āĻĻ⧁āĻŸā§‹ case āĻāĻ•āϟāĻžāϰ āύāĻŋāĻšā§‡ āφāϰ⧇āĻ•āϟāĻž āĻŦāϏ⧇, āĻāĻ•āϟāĻžāχ body āύāĻŋāϝāĻŧ⧇, āφāϰ default case āϧāϰ⧇ āĻāĻŽāύ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āϝ⧇āϟāĻž āϕ⧋āύ⧋ āĻĻāĻŋāύ āύāĻžāĨ¤

Problem 4: sum-until-zeroāϏāĻšāϜPro

Kenji-āϰ āĻĻā§‹āĻ•āĻžāύ⧇āϰ scanner āϏāĻžāϰāĻžāĻĻāĻŋāύ⧇āϰ āĻĻāĻžāĻŽā§‡āϰ āĻ“āĻ āĻžāύāĻžāĻŽāĻž āĻĒāĻžāĻ āĻžāϝāĻŧ āĻāĻ•āϟāĻžāϰ āĻĒāϰ āĻāĻ•āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻšāĻŋāϏ⧇āĻŦ⧇, āφāϰ āĻāĻ•āϟāĻž 0 āĻĻāĻŋāϝāĻŧ⧇ āĻŦā§‹āĻāĻžāϝāĻŧ āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώāĨ¤ 0-āĻāϰ āĻĒāϰ⧇āĻ“ scanner āĻšāĻžāĻŦāĻŋāϜāĻžāĻŦāĻŋ āĻĒāĻžāĻ āĻžāϤ⧇ āĻĨāĻžāϕ⧇, āφāϰ Kenji-āϕ⧇ āϏ⧇āϗ⧁āϞ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋāϤ⧇ āĻšāϝāĻŧāĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. Space āĻŦāĻž line break āĻĻāĻŋāϝāĻŧ⧇ āφāϞāĻžāĻĻāĻž āĻ•āϰāĻž āĻ•āĻŋāϛ⧁ āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻžāĨ¤ āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώ āĻšāϝāĻŧ āĻĒā§āϰāĻĨāĻŽ 0-āϤ⧇, āĻ“āχ 0 āϤāĻžāϞāĻŋāĻ•āĻžāϰ āĻ…āĻ‚āĻļ āύāĻž, āφāϰ āĻ“āϰ āĻĒāϰ⧇ āϝāĻž āφāϛ⧇ āϏāĻŦ āĻŦāĻžāĻĻāĨ¤ āĻ…āĻ¨ā§āϤāϤ āĻāĻ•āϟāĻž 0 āϏāĻŦāϏāĻŽāϝāĻŧ āĻĨāĻžāϕ⧇āĨ¤

Output. āĻĻ⧁āχ āϞāĻžāχāύ: āĻĒā§āϰāĻĨāĻŽ 0-āĻāϰ āφāϗ⧇ āĻ•āϝāĻŧāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻāϏ⧇āϛ⧇, āφāϰ āĻ“āĻĻ⧇āϰ āϝ⧋āĻ—āĻĢāϞāĨ¤

Constraints. āĻĒā§āϰāĻĨāĻŽ 0-āĻāϰ āφāϗ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 100000āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž -1000000 āĻĨ⧇āϕ⧇ 1000000-āĻāϰ āĻŽāĻ§ā§āϝ⧇āĨ¤

Sample. Input 5 -2 7 0 4 4 āĻĻāĻŋāϞ⧇ āĻĻ⧁āχ āϞāĻžāχāύ⧇ 3 āφāϰ 10āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āĻ•āϝāĻŧāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āφāϏāĻŦ⧇ āϤ⧁āĻŽāĻŋ āϜāĻžāύ⧋ āύāĻžāĨ¤ āϤāĻžāϞāĻŋāĻ•āĻž āϝ⧇ āĻļ⧇āώ, āϏ⧇āϟāĻž āĻŦāϞ⧇ āϕ⧇, āφāϰ āϏ⧇āχ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻ•āĻŋ āϤāĻžāϞāĻŋāĻ•āĻžāϰ āĻ…āĻ‚āĻļ?

Hint 2

Loop-āĻāϰ āφāϗ⧇ āĻāĻ•āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻĒāĻĄāĻŧā§‹āĨ¤ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻļ⧇āώ⧇āϰ āϚāĻŋāĻšā§āύ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ loop āϚāϞ⧁āĻ•āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž pass-āĻ āĻ“āϟāĻžāϕ⧇ āĻ—ā§‹āύ⧋, āϝ⧋āĻ— āĻ•āϰ⧋, āφāϰ āĻļ⧇āώ āϧāĻžāĻĒ⧇ āĻĒāϰ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻĒāĻĄāĻŧā§‹āĨ¤

Problem 5: fizzbuzzāϏāĻšāϜFree

Alice āĻ“āϰ āĻĒā§āϰāĻĨāĻŽ interview-āĻāϰ āϜāĻ¨ā§āϝ āϤ⧈āϰāĻŋ āĻšāĻšā§āϛ⧇, āφāϰ āϏ⧇āĻ–āĻžāύ⧇ āĻļ⧁āϰ⧁āϰ āĻĒā§āϰāĻļā§āύāϟāĻžāχ FizzBuzzāĨ¤ āĻ“ 1 āĻĨ⧇āϕ⧇ n āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ—ā§‹āύ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ•āĻŋāϛ⧁ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻļāĻŦā§āĻĻ āĻŦāϏāĻžāϝāĻŧāĨ¤ n āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻāĻ• āϞāĻžāχāύ⧇ nāĨ¤

Output. n-āϟāĻž āϞāĻžāχāύ, 1 āĻĨ⧇āϕ⧇ n āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§āϰāϤāĻŋāϟāĻž i-āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻžāĨ¤ i āϝāĻĻāĻŋ 3 āφāϰ 5 āĻĻ⧁āĻŸā§‹āϰāχ āϗ⧁āĻŖāĻŋāϤāĻ• āĻšāϝāĻŧ, print āĻ•āϰ⧋ FizzBuzzāĨ¤ āĻļ⧁āϧ⧁ 3-āĻāϰ āϗ⧁āĻŖāĻŋāϤāĻ• āĻšāϞ⧇ Fizz, āφāϰ āĻļ⧁āϧ⧁ 5-āĻāϰ āϗ⧁āĻŖāĻŋāϤāĻ• āĻšāϞ⧇ BuzzāĨ¤ āύāχāϞ⧇ print āĻ•āϰ⧋ āϏāĻ‚āĻ–ā§āϝāĻž i āύāĻŋāĻœā§‡āχāĨ¤

Constraints. 1 <= n <= 100000āĨ¤

Sample. Input 15 āĻĻāĻŋāϞ⧇ āĻĒāύ⧇āϰ⧋ āϞāĻžāχāύ⧇ 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14 āφāϰ FizzBuzzāĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

15 āĻšāϞ⧋ 3-āĻāϰ āϗ⧁āĻŖāĻŋāϤāĻ•āĨ¤ if āφāϰ else if chain-āĻ 3-āĻāϰ test āφāϗ⧇ āĻĨāĻžāĻ•āϞ⧇ 15 āĻĒā§āϰāĻĨāĻŽā§‡ āϕ⧋āύ test-āĻ āφāϟāĻ•āĻžāϝāĻŧ?

Hint 2

i āĻ—ā§‹āύ⧋ 1 āĻĨ⧇āϕ⧇ n āĻĒāĻ°ā§āϝāĻ¨ā§āϤ, āĻĻ⧁āχ āĻŽāĻžāĻĨāĻžāχ āϏāĻšāĨ¤ āφāϗ⧇ 15-āĻāϰ āϗ⧁āĻŖāĻŋāϤāĻ• āĻ•āĻŋ āύāĻž āĻĻ⧇āĻ–ā§‹, āϤāĻžāϰāĻĒāϰ 3-āĻāϰ, āϤāĻžāϰāĻĒāϰ 5-āĻāϰ, āφāϰ āϤāĻŋāύāϟāĻžāϰ āĻāĻ•āϟāĻžāĻ“ true āύāĻž āĻšāϞ⧇ i āύāĻŋāĻœā§‡āϕ⧇āχ push āĻ•āϰ⧋āĨ¤

Solution

i % 3 === 0 true āĻšāϝāĻŧ āϝāĻ–āύ 3 āĻĻāĻŋāϝāĻŧ⧇ i āĻ­āĻžāĻ— āĻ•āϰāϞ⧇ āĻ•āĻŋāϛ⧁āχ āĻŦāĻžāĻ•āĻŋ āĻĨāĻžāϕ⧇ āύāĻžāĨ¤ āϝ⧇ āϏāĻ‚āĻ–ā§āϝāĻž 3 āφāϰ 5 āĻĻ⧁āĻŸā§‹ āĻĻāĻŋāϝāĻŧ⧇āχ āĻ­āĻžāĻ— āϝāĻžāϝāĻŧ, āϏ⧇āϟāĻž 15 āĻĻāĻŋāϝāĻŧ⧇āĻ“ āĻ­āĻžāĻ— āϝāĻžāϝāĻŧāĨ¤ āϤāĻžāχ 15-āĻāϰ test āφāϗ⧇ āφāϏāϤ⧇āχ āĻšāĻŦ⧇, āύāχāϞ⧇ 3-āĻāϰ test 15-āϕ⧇ āϧāϰ⧇ push āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧ FizzāĨ¤ Loop āĻļ⧁āϰ⧁ āĻšāϝāĻŧ 1 āĻĨ⧇āϕ⧇ āφāϰ n-āĻ“ āϧāϰ⧇, āϤāĻžāχ āĻ āĻŋāĻ• n āĻŦāĻžāϰ āϚāϞ⧇, āφāϰ i āύāĻŋāĻœā§‡āϕ⧇ push āĻ•āϰāϞ⧇āĻ“ āϚāϞ⧇, āĻ•āĻžāϰāĻŖ out.join āĻ“āϟāĻžāϕ⧇ text āĻŦāĻžāύāĻžāϝāĻŧāĨ¤

15-āĻāϰ test āĻļ⧇āώ⧇ āĻĨāĻžāĻ•āϞ⧇ sample-āĻāϰ āϞāĻžāχāύ 15 print āĻ•āϰ⧇ FizzāĨ¤ i < n āĻĻ⧇āĻ“āϝāĻŧāĻž loop āĻāĻ• āϞāĻžāχāύ āφāϗ⧇ āĻĨ⧇āĻŽā§‡ āϝāĻžāϝāĻŧ, āφāϰ 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž loop āĻĒā§āϰāĻĨāĻŽā§‡āχ print āĻ•āϰ⧇ FizzBuzz, āĻ•āĻžāϰāĻŖ 0 āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϗ⧁āĻŖāĻŋāϤāĻ•āĨ¤ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ hidden test 100000āϟāĻž āϞāĻžāχāύ āϚāĻžāϝāĻŧ, āϝ⧇āϟāĻž starter-āĻāϰ āĻāĻ•āϟāĻžāχ console.log local machine-āĻ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āĻāĻ• āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻĻāĻļ āĻ­āĻžāϗ⧇āϰ āĻāĻ• āĻ­āĻžāϗ⧇ print āĻ•āϰ⧇āĨ¤

Problem 6: min-max-averageāĻŽāĻžāĻāĻžāϰāĻŋPro

Amara-āϰ program āĻāĻ•āϟāĻž sensor-āĻāϰ reading-āϗ⧁āϞ⧋ āĻāĻ•āĻŦāĻžāϰāχ āĻĒāĻĄāĻŧ⧇, āĻāĻ• pass-āĻāĨ¤ āĻ“ āĻ“āĻĻ⧇āϰ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϚāĻžāϰāϟāĻž āϤāĻĨā§āϝ āϚāĻžāϝāĻŧ: āĻ•āϝāĻŧāϟāĻž āφāϛ⧇, āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟāϟāĻž, āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧāϟāĻž āφāϰ āĻ—āĻĄāĻŧāĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ nāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ⧇ n-āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻžāĨ¤

Output. āϚāĻžāϰ āϞāĻžāχāύāĨ¤ āϞāĻžāχāύ 1 āĻšāϞ⧋ count, āĻāĻ•āϟāĻž space āφāϰ nāĨ¤ āϞāĻžāχāύ 2 āĻšāϞ⧋ min, āĻāĻ•āϟāĻž space āφāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ āϏāĻ‚āĻ–ā§āϝāĻž, āφāϰ āϞāĻžāχāύ 3 āĻšāϞ⧋ max, āĻāĻ•āϟāĻž space āφāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧāϟāĻžāĨ¤ āϞāĻžāχāύ 4 āĻšāϞ⧋ average, āĻāĻ•āϟāĻž space āφāϰ āϝ⧋āĻ—āĻĢāϞāϕ⧇ n āĻĻāĻŋāϝāĻŧ⧇ āĻ­āĻžāĻ— āĻ•āϰāĻž āĻĢāϞ, JavaScript āϝ⧇āĻ­āĻžāĻŦ⧇ number print āĻ•āϰ⧇ āϏ⧇āĻ­āĻžāĻŦ⧇ (String() āϝāĻž āĻĻ⧇āϝāĻŧ)āĨ¤

Constraints. 1 <= n <= 100000āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž -1000000000 āĻĨ⧇āϕ⧇ 1000000000-āĻāϰ āĻŽāĻ§ā§āϝ⧇, āϤāĻžāχ āϝ⧋āĻ—āĻĢāϞ āĻāĻ•āϟāĻž āύāĻŋāϖ⧁āρāϤ āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻž āĻĨāĻžāϕ⧇āĨ¤

Sample. Input 5 āφāϰ 4 -3 12 7 1 āĻĻāĻŋāϞ⧇ āϚāĻžāϰ āϞāĻžāχāύ⧇ count 5, min -3, max 12 āφāϰ average 4.2āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āϏāĻŦ āϏāĻ‚āĻ–ā§āϝāĻž positive āĻšāϞ⧇, 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āϚāϞāϤāĻŋ minimum āϕ⧀ āĻŦāϞ⧇? āφāϰ āϏāĻŦ āϏāĻ‚āĻ–ā§āϝāĻž negative āĻšāϞ⧇, 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āϚāϞāϤāĻŋ maximum?

Hint 2

āĻĒā§āϰāĻĨāĻŽ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻžāϕ⧇āχ minimum, maximum āφāϰ āϝ⧋āĻ—āĻĢāϞ⧇āϰ āĻļ⧁āϰ⧁ āϧāϰ⧋āĨ¤ āϤāĻžāϰāĻĒāϰ āĻŦāĻžāĻ•āĻŋ n - 1-āϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āωāĻĒāϰ loop āϚāĻžāϞāĻžāĻ“, āφāϰ āĻāĻ•āχ pass-āĻ āϤāĻŋāύāϟāĻžāχ update āĻ•āϰ⧋āĨ¤

Problem 7: guessing-gameāĻŽāĻžāĻāĻžāϰāĻŋPro

Bob āĻāĻ•āϟāĻž program-āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āĻ–ā§āϝāĻž āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āϖ⧇āϞāĻž āϖ⧇āϞ⧇, āφāϰ program-āϟāĻž āĻāĻ•āϟāĻž āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž āϜāĻžāύ⧇āĨ¤ Bob-āĻāϰ āφāĻ¨ā§āĻĻāĻžāϜ āφāϏ⧇ āĻāĻ•āϟāĻžāϰ āĻĒāϰ āĻāĻ•āϟāĻž, āϝāϤāĻ•ā§āώāĻŖ āύāĻž āĻŽā§‡āϞ⧇ āĻŦāĻž āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϝāĻžāϝāĻŧ, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž āϭ⧁āϞ āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āĻĒāϰ⧇ program āĻŦāϞ⧇ higher āύāĻž lowerāĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āφāϰ next() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϏāĻ‚āĻ–ā§āϝāĻžāϟāĻž āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž sāĨ¤ āϤāĻžāϰāĻĒāϰ āφāϏ⧇ āφāĻ¨ā§āĻĻāĻžāϜāϗ⧁āϞ⧋, space āĻŦāĻž line break āĻĻāĻŋāϝāĻŧ⧇ āφāϞāĻžāĻĻāĻž, input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤ āĻāĻ•āϟāĻž āφāĻ¨ā§āĻĻāĻžāϜāĻ“ āύāĻž āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

Output. āĻ•ā§āϰāĻŽ āϧāϰ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ• āϞāĻžāχāύāĨ¤ āφāĻ¨ā§āĻĻāĻžāϜāϟāĻž āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž āĻšāϞ⧇ print āĻ•āϰ⧋ correct in k, āϝ⧇āĻ–āĻžāύ⧇ k āĻšāϞ⧋ āĻ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒāĻĄāĻŧāĻž āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž, āĻāϟāĻž āϏāĻš; āϤāĻžāϰāĻĒāϰ āĻĨāĻžāĻŽā§‹, āĻāϰ āĻĒāϰ⧇āϰ āϏāĻŦ āφāĻ¨ā§āĻĻāĻžāϜ āĻŦāĻžāĻĻāĨ¤ āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ āĻšāϞ⧇ print āĻ•āϰ⧋ higher, āϛ⧋āϟ āĻšāϞ⧇ lowerāĨ¤ āĻ āĻŋāĻ• āφāĻ¨ā§āĻĻāĻžāϜ āĻ›āĻžāĻĄāĻŧāĻžāχ input āĻļ⧇āώ āĻšāϞ⧇ print āĻ•āϰ⧋ not found after k, āϝ⧇āĻ–āĻžāύ⧇ k āĻšāϞ⧋ āĻĒāĻĄāĻŧāĻž āφāĻ¨ā§āĻĻāĻžāĻœā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž, 0-āĻ“ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

Constraints. 1 <= s <= 1000000000āĨ¤ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 100000āϟāĻž āφāĻ¨ā§āĻĻāĻžāϜ, āĻĒā§āϰāϤāĻŋāϟāĻž 1 āĻĨ⧇āϕ⧇ 1000000000āĨ¤

Sample. Input 50 āφāϰ 25 75 50 10 āĻĻāĻŋāϞ⧇ āϤāĻŋāύ āϞāĻžāχāύ⧇ higher, lower āφāϰ correct in 3āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āφāĻ¨ā§āĻĻāĻžāϜ āϝ⧇ āĻļ⧇āώ, āϤ⧋āĻŽāĻžāϰ program āϏ⧇āϟāĻž āĻŦā§‹āĻā§‡ āϕ⧀āĻ­āĻžāĻŦ⧇? Token āĻĢ⧁āϰāĻŋāϝāĻŧ⧇ āϗ⧇āϞ⧇ next() āϕ⧀ āĻĻ⧇āϝāĻŧ?

Hint 2

āĻ—ā§‹āĻĒāύ āϏāĻ‚āĻ–ā§āϝāĻž āĻĒāĻĄāĻŧā§‹, āϤāĻžāϰāĻĒāϰ āĻāĻ•āϟāĻž while loop-āĻ āφāĻ¨ā§āĻĻāĻžāϜ āĻĒāĻĄāĻŧā§‹, āϝāϤāĻ•ā§āώāĻŖ āύāĻž token āĻšāϝāĻŧ undefinedāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž āφāĻ¨ā§āĻĻāĻžāϜ āĻĒāĻĄāĻŧāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āĻ—ā§‹āύ⧋āĨ¤ āĻ āĻŋāĻ• āφāĻ¨ā§āĻĻāĻžāĻœā§‡ āϞāĻžāχāύāϟāĻž push āĻ•āϰ⧋, āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ loop āĻĨ⧇āϕ⧇ āĻŦ⧇āϰ āĻšāĻ“, āφāϰ āĻŽāύ⧇ āϰāĻžāĻ–ā§‹ āϝ⧇ āĻĒ⧇āϝāĻŧ⧇ āϗ⧇āĻ›āĨ¤

Problem 8: till-commandsāĻŽāĻžāĻāĻžāϰāĻŋPro

Kenji-āϰ āĻĻā§‹āĻ•āĻžāύ⧇āϰ till input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ command āĻĒāĻĄāĻŧ⧇āĨ¤ āĻ“ āĻāĻ•āϟāĻž āϚāϞāϤāĻŋ āĻŽā§‹āϟ āϰāĻžāϖ⧇, āϝ⧇āϟāĻž āĻļ⧁āϰ⧁ āĻšāϝāĻŧ 0 āĻĨ⧇āϕ⧇ āφāϰ 0-āĻāϰ āύāĻŋāĻšā§‡āĻ“ āύāĻžāĻŽāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž command-āĻāϰ āĻļāĻŦā§āĻĻ āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ next() āĻĻāĻŋāϝāĻŧ⧇, āφāϰ āĻĒā§āϰāϤāĻŋāϟāĻž amount nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. Space āĻŦāĻž line break āĻĻāĻŋāϝāĻŧ⧇ āφāϞāĻžāĻĻāĻž āĻ•āϰāĻž command, input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤ sale x āĻŽā§‹āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ x āϝ⧋āĻ— āĻ•āϰ⧇, āφāϰ refund x āĻŽā§‹āϟ āĻĨ⧇āϕ⧇ x āĻŦāĻžāĻĻ āĻĻ⧇āϝāĻŧāĨ¤ total āĻŽā§‹āϟāϟāĻž print āĻ•āϰ⧇, āφāϰ close āĻŽā§‹āϟāϟāĻž print āĻ•āϰ⧇ run āĻļ⧇āώ āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻ…āĻ¨ā§āϝ āϝ⧇āϕ⧋āύ⧋ āĻļāĻŦā§āĻĻ āĻāĻ•āϟāĻž āĻ…āĻšā§‡āύāĻž command, āϝāĻžāϰ āĻĒāϰ⧇ āϕ⧋āύ⧋ amount āĻĨāĻžāϕ⧇ āύāĻžāĨ¤

Output. total-āĻāϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧋ total, āĻāĻ•āϟāĻž space āφāϰ āĻŽā§‹āϟāϟāĻžāĨ¤ close-āĻāϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧋ closed, āĻāĻ•āϟāĻž space āφāϰ āĻŽā§‹āϟāϟāĻž; āĻāϰ āĻĒāϰ⧇āϰ āϏāĻŦ command āĻŦāĻžāĻĻāĨ¤ āĻ…āĻšā§‡āύāĻž āĻļāĻŦā§āĻĻ⧇āϰ āϜāĻ¨ā§āϝ print āĻ•āϰ⧋ unknown, āĻāĻ•āϟāĻž space āφāϰ āĻļāĻŦā§āĻĻāϟāĻžāĨ¤ close āĻ›āĻžāĻĄāĻŧāĻžāχ input āĻļ⧇āώ āĻšāϞ⧇ āĻļ⧇āώ āϞāĻžāχāύ⧇ print āĻ•āϰ⧋ no closeāĨ¤

Constraints. āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ 100000āϟāĻž commandāĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž amount 1 āĻĨ⧇āϕ⧇ 1000000-āĻāϰ āĻāĻ•āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻžāĨ¤ Command-āĻāϰ āĻļāĻŦā§āĻĻ⧇ āĻļ⧁āϧ⧁ āϛ⧋āϟ āĻšāĻžāϤ⧇āϰ āĻ…āĻ•ā§āώāϰ āĻĨāĻžāϕ⧇āĨ¤

Sample. Input sale 250 sale 100 refund 50 total tip close sale 5 āĻĻāĻŋāϞ⧇ āϤāĻŋāύ āϞāĻžāχāύ⧇ total 300, unknown tip āφāϰ closed 300āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

āϕ⧋āύ command-āĻāϰ āĻĒāϰ⧇ amount āĻĨāĻžāϕ⧇, āφāϰ āϕ⧋āύāϟāĻžāϰ āĻĒāϰ⧇ āĻĨāĻžāϕ⧇ āύāĻž? āĻāĻ•āϟāĻž āĻ…āĻšā§‡āύāĻž āĻļāĻŦā§āĻĻ⧇āϰ āĻĒāϰ⧇āϰ token-āϟāĻž āϕ⧀?

Hint 2

Input āĻļ⧇āώ āύāĻž āĻšāĻ“āϝāĻŧāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§āϰāϤāĻŋ pass-āĻ āĻāĻ•āϟāĻž āĻļāĻŦā§āĻĻ āĻĒāĻĄāĻŧā§‹, āφāϰ āĻ“āϟāĻžāϰ āωāĻĒāϰ switch āĻ•āϰ⧋āĨ¤ āĻļ⧁āϧ⧁ sale āφāϰ refund-āĻāϰ case āĻāĻ•āϟāĻž amount āĻĒāĻĄāĻŧ⧇āĨ¤ switch-āĻāϰ āϭ⧇āϤāϰ⧇āϰ break āĻŦ⧇āϰ āĻšāϝāĻŧ āĻļ⧁āϧ⧁ switch āĻĨ⧇āϕ⧇, āϤāĻžāχ close-āĻāϰ loop āĻļ⧇āώ āĻ•āϰāĻžāϰ āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻž āωāĻĒāĻžāϝāĻŧ āϞāĻžāϗ⧇āĨ¤

Problem 9: count-primesāĻ•āĻ āĻŋāύPro

Maria āϜāĻžāύāϤ⧇ āϚāĻžāϝāĻŧ āĻĻ⧇āĻĄāĻŧ āϕ⧋āϟāĻŋ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ•āϝāĻŧāϟāĻž prime āφāϛ⧇, āφāϰ Kenji āĻŦāϞ⧇ computer āϏ⧋āϜāĻž āϗ⧁āύ⧇ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ Prime āĻšāϞ⧋ 1-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ āĻāĻŽāύ āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻž, āϝāĻžāϕ⧇ āĻļ⧁āϧ⧁ 1 āφāϰ āϏ⧇ āύāĻŋāĻœā§‡āχ āĻ­āĻžāĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ n āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻāĻ• āϞāĻžāχāύ⧇ nāĨ¤

Output. āĻĻ⧁āχ āϞāĻžāχāύ: n-āĻāϰ āϏāĻŽāĻžāύ āĻŦāĻž āϛ⧋āϟ prime āĻ•āϝāĻŧāϟāĻž, āφāϰ āĻ“āĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧāϟāĻžāĨ¤ āϕ⧋āύ⧋ prime āύāĻž āĻĨāĻžāĻ•āϞ⧇ (n < 2) āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ āĻšāĻŦ⧇ noneāĨ¤

Constraints. 1 <= n <= 15000000āĨ¤

Sample. Input 30 āĻĻāĻŋāϞ⧇ āĻĻ⧁āχ āϞāĻžāχāύ⧇ 10 āφāϰ 29āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

15000000 āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻ­āĻžāϜāĻ• āϖ⧁āρāĻœā§‡ āĻĻ⧇āĻ–āϞ⧇ āωāĻ¤ā§āϤāϰ āĻ āĻŋāĻ•āχ āφāϏ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϤ⧇ āĻ•āϤ āϏāĻŽāϝāĻŧ āϞāĻžāϗ⧇, āφāϰ judge āĻ•āϤāĻ•ā§āώāĻŖ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ⧇?

Hint 2

āĻĒā§āϰāĻļā§āύāϟāĻž āωāĻ˛ā§āĻŸā§‡ āĻĻāĻžāĻ“āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϕ⧋āύ⧋ āĻ­āĻžāϜāĻ• āφāϛ⧇ āĻ•āĻŋ āύāĻž āϜāĻŋāĻœā§āĻžā§‡āϏ āύāĻž āĻ•āϰ⧇, āĻĒā§āϰāϤāĻŋāϟāĻž prime-āϕ⧇ āĻĻāĻŋāϝāĻŧ⧇ āĻ“āϰ āύāĻŋāĻœā§‡āϰ āϗ⧁āĻŖāĻŋāϤāĻ•āϗ⧁āϞ⧋ āĻ•āĻžāϟāĻŋāϝāĻŧ⧇ āĻĻāĻžāĻ“āĨ¤ 0 āĻĨ⧇āϕ⧇ n āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž true āĻŦāĻž false flag āϰāĻžāĻ–ā§‹, āφāϰ āĻļ⧇āώ⧇ āϝ⧇ flag-āϗ⧁āϞ⧋ āĻāĻ–āύāĻ“ true āϏ⧇āϗ⧁āϞ⧋ āĻ—ā§‹āύ⧋āĨ¤

Problem 10: first-pair-sumāĻ•āĻ āĻŋāύPro

āĻāĻ•āϟāĻž mock interview-āϤ⧇ Alice āĻĒāĻžāϝāĻŧ āĻ•āĻŋāϛ⧁ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āĻāĻ•āϟāĻž āϤāĻžāϞāĻŋāĻ•āĻž āφāϰ āĻāĻ•āϟāĻž targetāĨ¤ āĻ“āϕ⧇ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻĒā§āϰāĻĨāĻŽ āĻāĻŽāύ āĻĻ⧁āĻŸā§‹ position, āϝāĻžāĻĻ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻĻ⧁āĻŸā§‹ āϝ⧋āĻ— āĻ•āϰāϞ⧇ target āĻšāϝāĻŧāĨ¤ Input āĻĒāĻĄāĻŧā§‹ starter-āĻāϰ nextInt() āĻĻāĻŋāϝāĻŧ⧇āĨ¤

Input. āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ⧇ n āφāϰ target tāĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āϞāĻžāχāύ⧇ n-āϟāĻž āĻĒā§‚āĻ°ā§āĻŖāϏāĻ‚āĻ–ā§āϝāĻž, a1 āĻĨ⧇āϕ⧇ anāĨ¤

Output. āĻāĻ• āϞāĻžāχāύāĨ¤ 1 āĻĨ⧇āϕ⧇ āĻ—ā§‹āύāĻž āĻāĻŽāύ āĻĒā§āϰāĻĨāĻŽ āĻĻ⧁āĻŸā§‹ position i < j, āϝ⧇āĻ–āĻžāύ⧇ ai + aj = t, print āĻ•āϰ⧋ i j āφāĻ•āĻžāϰ⧇āĨ¤ "āĻĒā§āϰāĻĨāĻŽ" āĻŽāĻžāύ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ i, āφāϰ āϏ⧇āχ i-āĻāϰ āϜāĻ¨ā§āϝ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϛ⧋āϟ jāĨ¤ āĻāĻŽāύ āϕ⧋āύ⧋ āĻœā§‹āĻĄāĻŧāĻž āύāĻž āĻĨāĻžāĻ•āϞ⧇ print āĻ•āϰ⧋ noneāĨ¤

Constraints. 2 <= n <= 5000āĨ¤ -1000000000 <= ai <= 1000000000āĨ¤ -2000000000 <= t <= 2000000000āĨ¤

Sample. Input 6 10 āφāϰ 3 8 5 7 2 5 āĻĻāĻŋāϞ⧇ 1 4: 3 + 7 āĻšāϞ⧋ 10, āφāϰ 8 + 2 āφāϰ 5 + 5-āĻāϰ āĻœā§‹āĻĄāĻŧāĻž āφāϏ⧇ āĻĒāϰ⧇āĨ¤

const input = require("fs").readFileSync(0, "utf8");
const tokens = input.split(/\s+/).filter(Boolean);
let at = 0;
const next = () => tokens[at++];
const nextInt = () => Number(next());
const out = [];

// your code: read with next() and nextInt(), push every line of output to out

console.log(out.join("\n"));
Run in Compiler

Hint 1

Position i-āĻāϰ āϏāĻžāĻĨ⧇ āϕ⧋āύ āϕ⧋āύ position j āĻœā§‹āĻĄāĻŧāĻž āĻŦāĻžāρāϧāϤ⧇ āĻĒāĻžāϰ⧇? j āĻ•āĻŋ i āύāĻŋāĻœā§‡āχ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻŦāĻž i-āĻāϰ āφāϗ⧇āϰ āϕ⧋āύ⧋ position?

Hint 2

āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋ āϰ⧇āϖ⧇ āĻĻāĻžāĻ“, āϤāĻžāϰāĻĒāϰ āĻĻ⧁āĻŸā§‹ nested loop: i āĻĒā§āϰāϤāĻŋāϟāĻž position-āĻāϰ āωāĻĒāϰ, āφāϰ j āĻļ⧁āϧ⧁ i-āĻāϰ āĻĒāϰ⧇āϰ position-āϗ⧁āϞ⧋āϰ āωāĻĒāϰāĨ¤ āĻœā§‹āĻĄāĻŧāĻžāϗ⧁āϞ⧋ āĻāχ āĻ•ā§āϰāĻŽā§‡āχ check āĻ•āϰ⧋, āφāϰ āĻĒā§āϰāĻĨāĻŽ āĻŽāĻŋāϞ⧇āχ āĻĻ⧁āĻŸā§‹ loop āĻĨ⧇āϕ⧇ āĻŦ⧇āϰ āĻšāϝāĻŧ⧇ āϝāĻžāĻ“āĨ¤

āϏāϚāϰāĻžāϚāϰ āϝ⧇ āĻĒā§āϰāĻļā§āύāϗ⧁āϞ⧋ āφāϏ⧇

  • āφāĻŽāĻžāϰ program-āĻāϰ āĻļ⧇āώ āϞāĻžāχāύ⧇ NaN print āĻšāϝāĻŧāĨ¤ āĻāϟāĻž āφāϏ⧇ āϕ⧋āĻĨāĻž āĻĨ⧇āϕ⧇?

    āϤ⧋āĻŽāĻžāϰ loop input-āĻ āϝāϤāϗ⧁āϞ⧋ token āφāϛ⧇ āϤāĻžāϰ āĻšā§‡āϝāĻŧ⧇ āĻāĻ•āϟāĻž āĻŦ⧇āĻļāĻŋ āĻĒāĻĄāĻŧ⧇āϛ⧇āĨ¤ āϤāĻ–āύ next() āĻĻ⧇āϝāĻŧ undefined, Number(undefined) āĻšāϞ⧋ NaN, āφāϰ NaN āϝ⧇ āϝ⧋āĻ—āĻĢāϞ āϛ⧋āρāϝāĻŧ āϏ⧇āϟāĻžāχ āύāĻˇā§āϟ āĻ•āϰ⧇āĨ¤ Loop-āĻāϰ test āĻĻ⧇āĻ–ā§‹: 0 āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻšāϞ⧇ i < n āϚāϞ⧇ n āĻŦāĻžāϰ, āφāϰ i <= n āϚāϞ⧇ n + 1 āĻŦāĻžāϰāĨ¤

  • Playground-āĻ āφāĻŽāĻžāϰ count-primes āĻĻāĻŋāĻŦā§āϝāĻŋ āϚāϞāϞāĨ¤ Judge āϤāĻžāĻšāϞ⧇ Time Limit Exceeded āĻŦāϞ⧇ āϕ⧇āύ?

    Playground āĻāĻ•āϟāĻž run āĻĨāĻžāĻŽāĻžāϝāĻŧ 10 āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĒāϰ⧇, āφāϰ judge āĻāĻ•āϟāĻž JavaScript program-āϕ⧇ āĻĒā§āϰāϤāĻŋ test-āĻ āĻĻ⧇āϝāĻŧ 2 āϏ⧇āϕ⧇āĻ¨ā§āĻĄāĨ¤ n = 15000000-āĻ āĻļ⧁āϧ⧁ āĻāĻ–āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒāĻžāĻ“āϝāĻŧāĻž prime āĻĻāĻŋāϝāĻŧ⧇ āĻ­āĻžāĻ— āĻ•āϰāĻž trial division-āĻāϰ Playground-āĻāϰ āĻĻ⧁āχ run-āĻ āϞ⧇āϗ⧇āϛ⧇ āĻĒā§āϰāĻžāϝāĻŧ 4 āϏ⧇āϕ⧇āĻ¨ā§āĻĄ: āĻ“āĻ–āĻžāύ⧇ āĻļ⧇āώ āĻšāϝāĻŧ, āĻ•āĻŋāĻ¨ā§āϤ⧁ judge-āĻāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āϧ⧀āϰāĨ¤ āϝ⧇ program āϛ⧋āϟ test-āϗ⧁āϞ⧋ āĻĒāĻžāĻļ āĻ•āϰ⧇ āφāϰ āĻļ⧁āϧ⧁ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧāϟāĻžāϝāĻŧ āĻĢ⧇āϞ āĻ•āϰ⧇, āϏ⧇āϟāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āϭ⧁āϞ āύāĻž, āϧ⧀āϰāĨ¤

  • āĻāĻ–āĻžāύ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ loop-āϗ⧁āϞ⧋āϰ āĻŦāĻĻāϞ⧇ āĻ•āĻŋ for...of, forEach āĻŦāĻž Math.min āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ?

    Judge āĻļ⧁āϧ⧁ āϤ⧋āĻŽāĻžāϰ output āĻĒāĻĄāĻŧ⧇, āϤāĻžāχ āϝ⧇āϕ⧋āύ⧋ āĻ āĻŋāĻ• program āĻĒāĻžāĻļ āĻ•āϰ⧇āĨ¤ for...of āϚāϞ⧇ āϤ⧋āĻŽāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻŦāĻžāύāĻžāύ⧋ āĻāĻ•āϟāĻž array-āϰ āωāĻĒāϰāĨ¤ forEach-āĻāϰ āφāϗ⧇āĻ­āĻžāϗ⧇ āĻĨāĻžāĻŽāĻžāϰ āϕ⧋āύ⧋ āωāĻĒāĻžāϝāĻŧ āύ⧇āχ, āϤāĻžāχ guessing-game āĻŦāĻž first-pair-sum-āĻ āĻ“āϟāĻž āĻŽāĻžāύāĻžāϝāĻŧ āύāĻž; lesson 04 āĻĻ⧇āĻ–āĻžāϝāĻŧ āϕ⧇āύāĨ¤ Array method-āϗ⧁āϞ⧋ āĻ āĻŋāĻ•āĻŽāϤ⧋ āĻļ⧇āĻ–āĻžāϝāĻŧ Module 7āĨ¤

  • āĻ•āĻŋāϛ⧁ statement "space āĻŦāĻž line break" āĻŦāϞ⧇ āϕ⧇āύ?

    Starter āĻĒ⧁āϰ⧋ input-āϕ⧇ token-āĻ āĻ­āĻžāĻ— āĻ•āϰ⧇, āϤāĻžāχ āĻ“āϰ āĻ•āĻžāϛ⧇ line break āφāϰ space āĻāĻ•āχ āϜāĻŋāύāĻŋāϏāĨ¤ sum-until-zero, guessing-game āφāϰ till-commands āϏ⧇āϟāĻž āĻŦāϞ⧇ āĻĻ⧇āϝāĻŧ, āφāϰ āĻ“āĻĻ⧇āϰ hidden test āĻĻ⧁āĻŸā§‹āχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ āϝ⧇ program āĻļ⧁āϧ⧁ āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύ āĻĒāĻĄāĻŧ⧇, āϏ⧇ āĻĒāϰ⧇āϰ āϞāĻžāχāύ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻšāĻžāϰāĻžāϝāĻŧāĨ¤

  • āφāĻŽāĻžāϰ program sample āĻĒāĻžāĻļ āĻ•āϰ⧇āĨ¤ āϤāĻžāĻšāϞ⧇ hidden test āϕ⧇āύ āĻĢ⧇āϞ āĻ•āϰ⧇?

    Sample āĻāĻ•āϟāĻžāχ āϛ⧋āϟ āωāĻĻāĻžāĻšāϰāĻŖ, statement āĻŦā§‹āĻāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻŦāĻžāĻ›āĻžāĨ¤ Hidden test-āĻ āφāϰāĻ“ āĻĨāĻžāϕ⧇ n = 1, āĻ āĻŋāĻ• āϏ⧀āĻŽāĻžāϰ āωāĻĒāϰ⧇āϰ value, āĻĒāĻĄāĻŧāĻžāϰ āĻŽāϤ⧋ āĻ•āĻŋāϛ⧁āχ āύ⧇āχ āĻāĻŽāύ input āφāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻŦāĻĄāĻŧ āĻŽāĻžāĻĒāĨ¤ āωāĻĒāϰ⧇āϰ āĻ•āĻŋāύāĻžāϰāĻžāϰ table āĻ“āĻĻ⧇āϰ āύāĻžāĻŽ āĻŦāϞ⧇ āĻĻ⧇āϝāĻŧ; submit āĻ•āϰāĻžāϰ āφāϗ⧇ āϛ⧋āϟāϗ⧁āϞ⧋ Playground-āĻ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āĻĻ⧇āĻ–ā§‹āĨ¤

āĻŽā§‚āϞ āĻ•āĻĨāĻž

  • Input n āĻĻāĻŋāϞ⧇ āĻĒāĻĄāĻŧā§‹ count āĻĻāĻŋāϝāĻŧ⧇, āϕ⧋āύ⧋ value āϤāĻžāϞāĻŋāĻ•āĻž āĻļ⧇āώ āĻ•āϰāϞ⧇ sentinel āĻĻāĻŋāϝāĻŧ⧇, āφāϰ āĻ•āĻŋāϛ⧁āχ āύāĻž āĻĨāĻžāĻ•āϞ⧇ āĻĒāĻĄāĻŧā§‹ āϝāϤāĻ•ā§āώāĻŖ āύāĻž next() āĻĻ⧇āϝāĻŧ undefinedāĨ¤
  • Statement āϝ⧇ āϤ⧁āϞāύāĻž āĻŦāϞ⧇ āϏ⧇āϟāĻžāχ āϞ⧇āĻ–ā§‹: "āĻ•āĻŽāĻĒāĻ•ā§āώ⧇" āĻŽāĻžāύ⧇ >=, āφāϰ 80 āĻĨ⧇āϕ⧇ 89-āĻāϰ āĻŽāϤ⧋ āĻ­āĻžāĻ— āĻĻ⧁āχ āĻŽāĻžāĻĨāĻžāχ āϧāϰ⧇āĨ¤
  • else if chain-āĻ āĻŦāĻž switch-āĻ āĻ•ā§āϰāĻŽāχ āωāĻ¤ā§āϤāϰ āĻ āĻŋāĻ• āĻ•āϰ⧇: 3-āĻāϰ āφāϗ⧇ 15 test āĻ•āϰ⧋, āφāϰ āχāĻšā§āϛ⧇ āĻ•āϰ⧇ body āĻ­āĻžāĻ— āύāĻž āĻ•āϰāϞ⧇ āĻĒā§āϰāϤāĻŋāϟāĻž case break āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻ•āϰ⧋āĨ¤
  • āωāĻ¤ā§āϤāϰ āϜāĻžāύāĻžāĻŽāĻžāĻ¤ā§āϰ āĻĨāĻžāĻŽā§‹: break āĻŦ⧇āϰ āĻšāϝāĻŧ āĻāĻ•āϟāĻž loop āĻĨ⧇āϕ⧇, labelled break āĻĻ⧁āĻŸā§‹ āĻĨ⧇āϕ⧇, āφāϰ switch-āĻāϰ āϭ⧇āϤāϰ⧇āϰ break āĻļ⧁āϧ⧁ switch āĻĨ⧇āϕ⧇āĨ¤
  • āϚāϞāϤāĻŋ minimum āĻŦāĻž maximum āĻļ⧁āϰ⧁ āĻ•āϰ⧋ āĻĒā§āϰāĻĨāĻŽ value āĻĨ⧇āϕ⧇, āφāϰ āĻāĻŽāύ algorithm āĻŦāĻžāϛ⧋ āϝ⧇āϟāĻž judge-āĻāϰ 2 āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡ āφāρāĻŸā§‡, āϝ⧇āĻŽāύ sieveāĨ¤
  • āφāϰāĻ“ āĻ—āĻ­ā§€āϰ⧇: CP āφāϰ Interview Pack, nested loop, āφāϗ⧇āĻ­āĻžāϗ⧇ āĻŦ⧇āϰ āĻšāĻ“āϝāĻŧāĻž āφāϰ bug gallery (Pro)āĨ¤

āĻāϰāĻĒāϰ āφāϏāϛ⧇ cheat sheet, āϝ⧇āϟāĻž āĻĒ⧁āϰ⧋ module-āϕ⧇ āĻāĻ• āĻĒāĻžāϤāĻžāϝāĻŧ āφāύ⧇, āφāϰ module test: āĻĻāĻļāϟāĻž āĻĒā§āϰāĻļā§āύ āφāϰ āĻāχ set-āĻāϰ āĻĻ⧁āĻŸā§‹ problem, fizzbuzz āφāϰ min-max-averageāĨ¤ āϤāĻžāϰāĻĒāϰ Module 5 āĻ–ā§‹āϞ⧇ functionāĨ¤

lesson ā§­ āĻļ⧇āώ

āϏāĻŦ problem accepted āĻšāϞ⧇āχ lesson āĻļ⧇āώāĨ¤

ā§Š āϟāĻž free problem-āĻāϰ āĻŽāĻ§ā§āϝ⧇ ā§Ļ āϟāĻž accepted

āĻĒāϰ⧇āϰāϟāĻž: Cheat sheet: āĻāĻ• āĻĒāĻžāϤāĻžāϝāĻŧ if, switch āφāϰ loop

Problem: if, switch āφāϰ loop | Learn JavaScript | Progsity