RIEN😚
이상한 나라의 개발자
RIEN😚
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • Algorithm (68)
      • 알고리즘 (0)
      • Baekjoon (8)
      • 프로그래머스 (55)
      • HackerRank (5)
    • Android (30)
      • Project (1)
      • Error (2)
      • Studio (1)
      • Android (26)
    • Kotlin (6)
    • CS (4)
      • 네트워크 (2)
      • 데이터베이스 (2)
    • Front End (5)
      • React (1)
      • VUE (3)
      • Project (0)
      • 기타 (1)
    • 기록 (11)
      • 회고록 (6)
      • TIL (5)

블로그 메뉴

  • Github🔥
  • 포트폴리오🌹

공지사항

인기 글

티스토리

250x250
반응형
hELLO · Designed By 정상우.
RIEN😚

이상한 나라의 개발자

Algorithm/프로그래머스

[Lv3] 가장 긴 팰린드롬 - python

2022. 9. 29. 16:58
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
    'Algorithm/프로그래머스' 카테고리의 다른 글
    • [Lv.1] 개인정보 수집 유효기간 - python & Kotlin
    • [Lv.2] 점 찍기 - python
    • [Lv3] 단어 변환 - python
    • [Lv3] 섬 연결하기 - python, kotlin
    RIEN😚
    RIEN😚
    안드로이드 / 코틀린 독학으로 취업하자!

    티스토리툴바