LeetCode - Longest Palindrome (Javascript)
문제 설명
앞으로 읽어도 똑같고, 뒤로 읽어도 똑같은 문자열의 최장 길이를 구하는 문제다.
Given a string s
which consists of lowercase or uppercase letters, return *the length of the longest palindrome* that can be built with those letters.
Letters are case sensitive, for example, "Aa"
is not considered a palindrome here.
Example 1:
1 | Input: s = "abccccdd" |
Example 2:
1 | Input: s = "a" |
Example 3:
1 | Input: s = "bb" |
Constraints:
1 <= s.length <= 2000
s
consists of lowercase and/or uppercase English letters only.
소스 코드
난이도가 낮은 문제였기에 쉽게 풀어낼 수 있었다.
핵심은 오브젝트에 각 캐릭터별 개수를 담은 뒤, 개수를 각각 2로 나눠 → 나누어 떨어졌을 경우와 떨어지지 않았을 경우에 대한 핸들링을 하는 것이었다.
1 | const longestPalindrome = (s) => { |
소스 코드 (간소화 버전)
for문을 한 번만 사용해도 문제를 풀 수 있을 것 같아 코드를 조금 더 간소화 해봤다.
1 | const longestPalindrome = (s) => { |
LeetCode - Longest Palindrome (Javascript)
https://hoonjoo-park.github.io/algorithm/leet/longestPalindrome/