Balanced parentheses
by Roman Fedytskyi
HTML
<div id="output"></div>
CSS
code {
border: 1px solid lightgrey;
background-color: white;
}
JavaScript
function check (str) {
// please start writing your code here
}
var samples = {
'{}': true,
'{([})]': false,
'{([])}{([])}{([])}': true,
'asdf{asdf}{f323[324]32}{324}': true,
'4fff({f}f{[]tt})444[{}]tt': true,
'{{{': false,
'': true,
};
function test(samples) {
var messages = Object.keys(samples).map(function (sample) {
var expectedResult = samples[sample];
var actualResult = check(sample);
var passed = (expectedResult === actualResult);
var color = passed ? "green" : "red";
var message = passed ? "OK" : "FAILED";
var butMsg = passed ? "" : " but got <code>" + String(actualResult) + "</code>";
return "<span style='color: " + color + ";'><code>" + sample + "</code> should be <code>" + String(expectedResult) + "</code>" + butMsg + " - " + message + "</span>";
});
return "<ul><li>" + messages.join('</li><li>') + "</li></ul>"
}
document.getElementById('output').innerHTML = test(samples);