반응형

Python/알고리즘 52

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

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 1. 유효한 팰린드롬 문제 : 주어진 문자열이 팰린드롬인지 확인하는 문제입니다. 대소문자를 구문하지 않으며, 영문자와 숫자만을 대상으로 합니다. 풀이 1. 슬라이싱 이용한 풀이 책에서는 re 모듈을 이용해서 입력값을 전처리한 뒤에 슬라이싱을 이용하는 풀이법이 나와있습니다. re 모듈 사용법을 익혀둔다면 문자열 관련 문제를 풀 때 유용할것 같습니다. def isPalindrome(s): s = s.lower() s = re.sub('[^a-z0-9]', '', s) return s == s[::-1] re.sub에 '[^a-z0-9]' 인자를 입력하여 알파벳과 숫자를 제외한 모든 문자를 지정합니다. 다음 인..

Python/알고리즘 2021.02.08

[자료구조] 빅오(big-O) 표기법

이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다. 출처 : 파이썬 알고리즘 인터뷰 빅오 빅오는 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법입니다. 빅오는 점근적 실행 시간(Asymptotic Running Time)을 표기할 때 가장 널리 쓰이는 수학적 표기법 중 하나입니다. 점근적 실행 시간이란 입력값 n이 커질 때, 즉 입력값이 무한대를 향할 때 함수의 실행 시간 추이를 의미합니다. 충분히 큰 입력에서는 알고리즘의 효율성에 따라 수행 시간이 크게 차이가 날 수 있습니다. 접근적 실행 시간은 달리 말하면 시간 복잡도라 할 수 있습니다. 시간 복잡도(Time Complexity)의 사전적 정의는 어떤 알고리즘을 수행하는 데 걸리는 시간을 설명하는 계산 복잡도(Com..

Python/알고리즘 2021.02.07
반응형