728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🍿 문제설명
앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다.
문자열 s가 주어질 때, s의 부분 문자열(Substring) 중 가장 긴 팰린드롬의 길이를 return하는 solution 함수를 완성해주세요.
📌 제한사항
1. 문자열 s의 길이: 2,500 이하의 자연수
2. 문자열 s는 알파벳 소문자로만 구성
🛠 풀이
파이썬에서는 해당 문제를 쉽게 풀 수 있습니다.
가능한 모든 부분문자열을 만들고, 해당 부분문자열이 팰린드롬인지 검사하면 되요. 🤗
1. 부분문자열
size = len(s)
for i in range(size):
for j in range(i+1, size+1):
sub = s[i:j]
2. 팰린드롬인지 검사하기
def isPalindrome(s):
return s == s[::-1]
연습문제여서 그런지 효율성을 생각하지 않고 풀어도 효율성 테스트까지 모두 통과됩니다.ㅎㅎ
🔥 코드
def solution(s):
size = len(s)
answer = 0
for i in range(size):
for j in range(i+1, size+1):
if isPalindrome(s[i:j]):
answer = max(answer, j-i)
return answer
def isPalindrome(s):
return s == s[::-1]
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv.1] 개인정보 수집 유효기간 - python & Kotlin (0) | 2023.01.24 |
---|---|
[Lv.2] 점 찍기 - python (0) | 2022.12.14 |
[Lv3] 단어 변환 - python (1) | 2022.09.29 |
[Lv3] 섬 연결하기 - python, kotlin (2) | 2022.09.29 |
[프로그래머스] Lv 3. 파괴되지 않은 건물(Kotlin) (0) | 2022.06.06 |