Stack Pop with Underflow
PHP
Medium
6 views
Problem Description
Process q commands: PUSH x or POP. POP prints value, but if empty prints UNDERFLOW.
Input Format
First line q. Next q lines.
Output Format
Outputs for POP.
Sample Test Case
Input:
6
POP
PUSH 5
PUSH 8
POP
POP
POP
Output:
UNDERFLOW
8
5
UNDERFLOW
Official Solution
<?php
$inputLines=preg_split('/\\R/', rtrim(stream_get_contents(STDIN)));
if(!$inputLines || trim($inputLines[0])==='') exit;
$q=intval($inputLines[0]);
$st=[]; $output=[];
for($i=1;$i<=$q;$i++){
$t=trim($inputLines[$i] ?? '');
if($t==='') continue;
if(strpos($t,'PUSH')===0){
$parts=preg_split('/\\s+/', $t, 2);
$st[] = $parts[1] ?? '0';
}else{
if(!$st) $output[]='UNDERFLOW';
else $output[] = array_pop($st);
}
}
echo implode(PHP_EOL,$output);
?>
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!