[알고리즘 스터디] Longest Palindrome

박봉팔·2024년 6월 5일
post-thumbnail

409. Longest Palindrome

String값이 주어지면 해당 String값을 이루고 있는 문자들을 가지고 팰린드롬을 만들었을때 가장 길게 만들수 있는 길이를 반환하는 문제다.

팰린드롬?

eye, madam, level, hannah 등처럼 역순으로 읽어도 같은 말이 되는 말을 말한다.


class Solution {
    fun longestPalindrome(s: String): Int {
        var answer = 0
        var result = s.groupingBy { it }.eachCount().map {
            if(it.value > 1) {
                answer += (it.value / 2) * 2
                it.value % 2
            } else {
                it.value
            }
        }

        if (1 in result) answer++

        return answer
    }
}

String값 내에서 찾는게 아니라 해당 값의 문자를 재배치하는게 가능하기 때문에 그냥 각 문자를 나눠서 2개가 되면 정답 카운트를 올리도록 작성했다.

profile
개발 첫걸음! 가보자구!

0개의 댓글