코딩테스트연습 가장 긴 팰린드롬

Ssoony의 Velog·2024년 6월 28일
0

https://school.programmers.co.kr/learn/courses/30/lessons/12904

def solution(s):
    n=len(s) 
    answer=1
    for i in range(n):
        for j in range(i+1,n+1):
            checkS=s[i:j]
            if checkS==checkS[::-1]:
                answer=max(answer,len(checkS))   
    return answer

내가 풀이한 방법은 전수조사이다.

  1. 문자열 s의 길이를 n이라는 변수로 지정해두고,
  2. i를 0부터 n까지 반복시키면서 i번째 문자부터 문자열의 마지막 문자 s[n]까지 모든 문자열이 팰린드롬인지 확인
  3. 팰린드롬이라면 길이의 max값을 업데이트
  4. answer 반환

★ 중요한점!

i, j라는 두개의 변수를 써서 0부터 n까지 i로 한번 돌고, 다음으로 j를 통해 i부터 n까지 두 번도는 방법으로 탐색
같은 범위를 두개의 변수로 따로 돌면서 탐색할 수 있다는 것을 배웠다!

또 한가지, s[::-1]을 활용하면, 문자열를 뒤집어서 반환한다!

profile
개발자로 성장하기 위한 한걸음

0개의 댓글