코딩테스트/파이썬 알고리즘 인터뷰 4

[파이썬 알고리즘 인터뷰] 6장 - 문자열 조작

문자열 조작 (String Manipulation) 문자열을 변경하거나 분리하는 등의 여러 과정을 말합니다. 코딩테스트에서는 기본적으로 갖추어야 하는 부분입니다. 실무에서도 빈번하게 사용됩니다. 그렇기에 잘 익혀 두어서 다양한 분야에 사용해야 합니다. 01. 유효한 팰린드롬 풀이 1. 리스트로 변환 isalnum()함수에 대해서 알게 되었습니다. isalnum()함수는 영문자, 숫자의 여부를 판별하는 함수로 영문자, 숫자이면 True, 아니면 False를 return합니다. 특수문자를 제외시킬 때 사용하면 좋습니다. def isPalindrome(s: str) -> bool: # 매개변수 s를 가지는 함수, return type은 bool strs = [] for char in s: # s 문자열에서 하..

[파이썬 알고리즘 인터뷰] 5장 - 리스트, 딕셔너리

시작에 앞서 이 글은 박상길 저자님의 파이썬 알고리즘 인터뷰 책을 읽고 정리한 내용임을 밝힙니다. 리스트와 딕셔너리는 코딩 테스트에서 거의 빠짐없이 사용되는 자료형으로 기초를 튼튼히 해야 합니다. 리스트 (list) 리스트 개념 리스트란 순서대로 저장하는 시퀀스이자 변경 가능한 목록을 말합니다. 입력 순서가 유지되며, 내부적으로는 동적 배열로 구현되어 있습니다. 스택(stack)과 큐(queue)에서 사용 가능한 연산을 함께 제공해서 편리합니다. 리스트의 활용 방법 # 빈 리스트 선언 li = [] li = list() # 값이 있는 리스트 선언 nums = [1, 2, 4, 5] korean = ['가', '나', '다'] # 값 추가 nums.insert(2, 3) # 2번 인덱스에 3 추가 [1, ..

[파이썬 알고리즘 인터뷰] 4장 - 자료형

시작에 앞서 이 글은 박상길 저자님의 파이썬 알고리즘 인터뷰 책을 읽고 정리한 내용임을 밝힙니다. 파이썬 자료형 (모든 자료형을 언급하지 않고, 주요 자료형만 언급했습니다. ) 숫자 파이썬에서는 숫자 정수형으로 int 자료형만을 제공합니다. bool은 논리 자료형이지만 내부적으로 1과 0으로 처리되는 int의 서브 클래스입니다. (True -> 1, False -> 0) 클래스 구조 : object > int > bool print(True == 1) # True print(False == 0) # True​ 매핑 (Mapping) 매핑은 키와 자료형으로 구성된 복합 자료형입니다. 파이썬의 유일한 매핑 자료형은 딕셔너리입니다. # 빈 딕셔너리 선언 empty_dict01 = {} empty_dict02 ..

[파이썬 알고리즘 인터뷰] 4장 - 빅오 (big-O)

시작에 앞서 이 글은 박상길 저자님의 파이썬 알고리즘 인터뷰 책을 읽고 정리한 내용임을 밝힙니다. 빅오 (O, big-O) 빅오란 입력값이 무한대로 향할 때 함수의 상한을 설명하는 수학적 표기 방법입니다. 점근적 실행 시간 (Asymptotic Running Time)을 표기할 때 쓰이는 수학적 표기 방법입니다. 빅오로 시간 복잡도를 표현할 때는 최고차항만을 표기합니다. 점근적 실행 시간 (Asymptotic Running Time) 점근적 실행 시간이란 입력값 n이 커질 때 (무한대를 향할 때) 실행 시간의 추이를 의미합니다. 점근적 실행 시간은 다른 말로 시간 복잡도 (Time Complexity)라고 합니다. 빅오 표기법의 종류 O(1) : 입력값이 아무리 크든 작든 실행 시간이 일정한 알고리즘입니..