위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/코테

    [파이썬 알고리즘 인터뷰] 유효한 팰린드롬

    2020. 12. 13. 17:58

    by. 위지원

    github.com/onlybooks/algorithm-interview

     

    팰린드롬

     

    앞뒤가 똑같은 문장이나 단어 "소주 만 병만 주소" 😂😂😂😂😂😂

     

    • isalnum(): 영문자, 숫자 여부를 판단

    사용하면 아래와 같이 특수문자를 제외한 나머지 영문,한글 숫자만을 체크할 수 있다. 이때, 대소문자를 구분하지 않는 것을 유의해야함!

     

    1. pop() 이용하기

    이를 이용하면 원래 문자열에 있던 특수문자들을 제외하고 팰린드롬을 체크할 수 있다. 

    팰린드롬을 체크할 때는 pop을 사용하여 pop(0)과 pop()을 이용해 앞뒤로 꺼내서 체크한다.

     

    2. 데크(Deque) 이용하기: 리스트 pop에 비해 성능이 향상됨

    Double-ended Queue는 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조

     

     

    3. 슬라이스 이용해서 성능 향상시키기: isalnum을 이용하지 않고, 정규식을 이용해 불필요한 문자를 제거하고 

    역인덱싱을 이용하여 출력시키면 성능을 향상시킬 수 있다.

     

    추가로 아래도 실험해봤는데, 그렇게 크게 차이가 나질 않는다. 심지어 둘이 시간 순위가 바뀌는 경우도 있고.. 

    if strs[::-1] != sts: 를 비교할 수 있다는게 좋은 것 같다. 


    www.acmicpc.net/problem/10988

     

    10988번: 팰린드롬인지 확인하기

    첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

    www.acmicpc.net

    str = input()
    
    def isPalindrome(s:str)->bool:
        return 0 if s != s[::-1] else 1
    
    print(isPalindrome(str))

     

    저작자표시 (새창열림)

    '2020년 > 코테' 카테고리의 다른 글

    [파이썬 알고리즘 인터뷰] 로그파일 재정렬  (0) 2020.12.19
    [파이썬 알고리즘 인터뷰] 문자열 뒤집기  (0) 2020.12.15
    [파이썬 알고리즘 인터뷰] 빅오, 자료형  (0) 2020.12.08
    [파이썬 알고리즘 인터뷰] 파이썬  (0) 2020.12.08
    [leetcode] Longest Substring with At Least K Repeating Characters  (0) 2020.11.26

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • [파이썬 알고리즘 인터뷰] 로그파일 재정렬 2020.12.19
    • [파이썬 알고리즘 인터뷰] 문자열 뒤집기 2020.12.15
    • [파이썬 알고리즘 인터뷰] 빅오, 자료형 2020.12.08
    • [파이썬 알고리즘 인터뷰] 파이썬 2020.12.08
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바