본문 바로가기

분류 전체보기21

Palindrome (회문) 판별 Q. 주어진 문장이 Palindrome(회문)인지 판별하여라. 단, 대소문자는 구분하지 않으며, 숫자와 특수문자는 무시한다. (회문이란, 거꾸로 읽어도 스펠링이 같은 문장을 말한다) 우선, string에서 특수문자를 제거하고, 전부 소문자로 만드는 전처리 과정을 거쳐야 한다. 이때 이러한 과정을 가장 강력하고 빠르게 처리할 수 있는 방법은 바로 '정규표현식' 이다. (문법 내용정리 카테고리에 포스팅을 작성하고 있었는데, 아직 나도 모르는 부분이 많고 분량도 너무 많아서 보류 중이다 ㅠㅠ) 아래는 string의 특수문자를 제거한 후 소문자로 변환하는 코드이다. import re string_input = 'A man, a plan, a canal: Panama' string_preprocessed = re.. 2021. 1. 28.
# 00. 카테고리 소개 이 카테고리는 '파이썬 알고리즘 인터뷰' 책을 공부하며 배운 내용들을 간단히 정리하는 카테고리입니다. 따라서 코딩에 사용하는 언어는 파이썬입니다. 책에 있는 모든 문제를 포스팅하지는 않으며, 개념이 어렵거나 언급할 내용이 많은 (= 내가 정리해두고 싶은) 문제들을 골라서 정리하고자 합니다. 군대에 있는 동안 이 책의 내용을 모두 포스팅할 수 있었으면 좋겠네요..ㅎ 지치지 않기만을 바랍니다! 서적 링크 http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791189909178 파이썬 알고리즘 인터뷰 - 교보문고 세계 최고 온라인 문제 풀이 사이트인 리트코드(LeetCode)의 기출문제 풀이와 분석! 200여 개.. 2021. 1. 28.
Generator (제너레이터) Python에서 함수와 유사한 형태를 가졌으나, 함수와 구별되는 개념이 하나 있는데, 이것이 바로 Generator이다. Generator 역시 일종의 함수이지만, 일반적인 함수와 달리 iterator(이터레이터, 반복자)를 리턴한다. 이때 iterator이란, iterable 객체를 순회 탐색하는 객체를 말한다. 즉 iterable의 원소를 가리키는 커서와 같은 역할을 한다. generator은 return 대신에 'yield(양보하다)'라는 구문으로 iterator을 리턴하는데, generator의 동작 원리에 대해서는 아래의 코드를 통해 살펴보자. def generator_ex(): times = 1 while True: yield times times += 1 gen = generator_ex().. 2021. 1. 28.
F-string (가장 강력한 print 방법) (print함수에 변수 넣을때는 무조건 f-string 하세요 두번 하세요) 이 글은 사실상 f-string의 찬양글이다. 그도 그럴만 한 것이, 이전에 존재하던 %-string이나 format 함수들에 비해 f-string은 훨씬 간단하고, 훨씬 가독성도 높고, 심지어 속도마저 빠르다. f-string의 사용 방법은 정말 간단한데, 다음과 같이 작성하면 된다. print ( f ' {변수명} ' ) 아래의 여러 예시들을 통해 f-string의 강력함을 경험해 보자. # 수식 계산 결과를 출력 print(f'2 + 3 = {2+3}, 3 ** 2 = {3**2}') # result : 2 + 3 = 5, 3 ** 2 = 9 # 이름과 나이를 출력 name = 'james' age = '23' print(.. 2021. 1. 28.
Enumerate 함수 list나 set, tuple 그리고 dictionary에서 iterable의 원소와 해당 인덱스를 함께 활용하여 코딩을 하는 경우가 많다. 이러한 경우에 enumerate 함수를 활용할 수 있다. 아래의 코드를 보자. list_ex = ['a','b','c','d','e'] enum = enumerate(list_ex) print(enum) # result : enumerate 함수는 list, tuple, string 등의 iterable 객체를 인자로 받으며, 결과값으로 enumerate라는 iterable 객체를 리턴한다. (참고로 enumerate객체도 iterable이므로, enumerate(enumerate객체) 도 가능하다 ㅋㅋ) enumerate객체는 iterable의 인덱스와 원소를 순.. 2021. 1. 27.