공부/파이썬스터디

[파이썬 알고리즘 인터뷰: 6주차_01유효한팰린드롬]

Neulbo 2021. 9. 9. 16:09

01. 유효한 팰린드롬

1) 리스트로 변환

깃허브에 아직 올릴줄 몰라,,급하게 스터디 전에 작성한다. 올리고 수정해야겠다..

"aabb" 를 입력했을 때
"위 결과 : True"
"race a car" 를 입력했을 때
위 결과 : "False"

정리 :

"팰린드롬(Palindrome)" : 앞뒤가 똑같은 단어나 문장. 뒤집어도 같은 말, 단어

[위 문제의 조건: 대소문자 여부 구분X, 영문자, 숫자만을 대상]

필요한 작업

1) isalnum() : 영문자, 숫자 여부를 판별하는 함수

2) lower() : 모두 소문자로 변경

3) pop()함수 : 인덱스를 지정할 수 있음. pop()하면서 매칭한다. 

https://mingtrace.tistory.com/528 [참고하면 좋을 블로그 - 자료형 함수]

 

 

2) 데크 자료형을 이용한 최적화

정리:

list가 아닌 데크(Deque)를 활용하면 더 좋은 성능이 나온다. 

 

3) 슬라이싱 사용

파이썬은 문자열을 배열이나 리스트처럼 자유롭게 슬라이싱할 수 있다.

[::-1] : 뒤집는 슬라이싱