소문자 또는 대문자로 구성된 문자열 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