괄호 회전하기

function solution(s = '}]()[{') {
let answer = 0;
let cnt = 0;
const array = s.split('');
while (cnt <= s.length - 1) {
const pushArray = [];
for (let index = 0; index < array.length; index++) {
if (
array[index] === '[' ||
array[index] === '(' ||
array[index] === '{'
) {
pushArray.push(array[index]);
} else if (
(pushArray[pushArray.length - 1] === '[' && array[index] === ']') ||
(pushArray[pushArray.length - 1] === '{' && array[index] === '}') ||
(pushArray[pushArray.length - 1] === '(' && array[index] === ')')
) {
pushArray.pop();
} else if (
array[index] === ']' ||
array[index] === '}' ||
array[index] === ')'
) {
return cnt;
}
}
if (pushArray.length === 0) {
++answer;
}
let firstValue = array[0];
array.shift();
array.push(firstValue);
++cnt;
}
return answer;
}
solution();
할인행사

function solution(
want = ['banana', 'apple', 'rice', 'pork', 'pot'],
number = [3, 2, 2, 2, 1],
discount = [
'chicken',
'apple',
'apple',
'banana',
'rice',
'apple',
'pork',
'banana',
'pork',
'rice',
'pot',
'banana',
'apple',
'banana',
]
) {
let answer = 0;
for (let i = 0; i < discount.length - 9; i++) {
const slice = discount.slice(i, i + 10);
let flag = true;
for (let j = 0; j < want.length; j++) {
if (
slice.filter((element, i) => element === want[j]).length !== number[j]
) {
flag = false;
break;
}
}
if (flag) {
answer += 1;
}
}
return answer;
}