꺾쇠 괄호 문자열이 주어지고 모든 괄호가 일치하도록 문자열의 시작과 끝에 괄호를 추가하는 함수를 작성해야 합니다.
모든 <에 해당하는>가 있고 모든>에 해당하는 <.
가 있는 경우 꺾쇠괄호가 일치합니다.예를 들어 - 입력 문자열이 -
인 경우const str = '><<><';
출력
그러면 출력은 다음과 같아야 합니다. -
const output = '<><<><>>';
여기에서 문자열의 균형을 맞추기 위해 시작 부분에 '<'를 추가하고 끝에 '>>'를 추가했습니다.
지금까지 열려 있는 '<' 태그의 수를 세는 숫자를 사용할 것입니다. 그런 다음 '>' 태그를 만났을 때 현재 열려 있는 태그가 없으면 문자열의 시작 부분에 '<'를 추가합니다(열린 태그 수는 0으로 유지).
그런 다음 마지막에 현재 열려 있는 태그의 수와 일치하는 '>의 수를 추가합니다.
예시
이에 대한 코드는 -
const str = '><<><'; const buildPair = (str = '') => { let count = 0; let extras = 0; for (const char of str) { if (char === '>') { if (count === 0) { extras++; } else { count−−; }; } else { count++; }; }; const leadingTags = '<'.repeat(extras); const trailingTags = '>'.repeat(count); return leadingTags + str + trailingTags; }; console.log(buildPair(str));
출력
콘솔의 출력은 -
><<><>>