소문자 또는 대문자로 구성된 문자열 s가 주어지면 해당 문자로 만들 수 있는 가장 긴 회문의 길이를 반환해야 합니다. 문자는 대소문자를 구분합니다. 예를 들어 "Aa"는 여기에서 회문으로 간주되지 않습니다.
예를 들어 -
입력 문자열이 -
인 경우const str = "abccccdd";
출력은 7이어야 합니다.
왜냐하면 건설할 수 있는 가장 긴 회문은 길이가 7인 "dccaccd"이기 때문입니다.
예시
const str = "abccccdd";
const longestPalindrome = (str) => {
const set = new Set();
let count = 0;
for (const char of str) {
if (set.has(char)) {
count += 2; set.delete(char);
}
else {
set.add(char);
}
}
return count + (set.size > 0 ? 1 : 0);
};
console.log(longestPalindrome(str)); 출력
콘솔의 출력은 -
7