Lesson 5 – Stacks and Queues – Nesting demo task solution code written in php. Gives 100/100 score at the time of publishing. The description of the problem is copyrighted, so please see the following link for it: //codility.com/demo/take-sample-test/nesting
Solution in php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function solution($S) { $s = preg_replace('~[^\(\)]~', '', $S); if($S <> $s){ return 0; } $S = str_split($S); if(empty($S)){ return 1; } $counter = 0; foreach($S as $v){ switch($v){ case '(': $counter++; break; case ')': $counter--; break; } if($counter < 0){ return 0; } } return $counter == 0 ? 1 : 0; } |
Given “AS IS”, can be ported from other languages from solutions found on the internet, please use with care.
Please note: we think that codility.com does not give a correct assessment of your real-world programming skills. For instance, reading the below would bring more understanding why: //codility-test-questions.blogspot.com/2013/01/my-experience-with-codility-test.html