GDGoC/Python 14

[Python] Algorithm #02: 문자열

문자열 탐색, 패턴 매칭, 아나그램, 회문, 투 포인터 등 문자열을 다루는 다양한 알고리즘을 정리했습니다.1. 문자열 탐색문자열에서 특정 문자나 패턴을 찾는 기본적인 방법입니다. 파이썬에서는 find(), in 연산자, index() 등을 활용할 수 있습니다.실제 문제에서는 여러 번 등장하는 경우 모든 위치를 찾거나, 부분 문자열의 개수를 세는 등으로 확장할 수 있습니다.s = "hello world"print(s.find("world")) # 6 (찾으면 시작 인덱스, 없으면 -1)print("wor" in s) # True (포함 여부)# 여러 번 등장하는 모든 위치 찾기target = "l"positions = [i for i, c in enumerate(s) if (c == targe..

GDGoC/Python 2026.04.25

[Python] Basic #02: 리스트와 문자열 활용

Python에서 리스트와 문자열을 활용하는 방법을 다룹니다. 리스트와 문자열을 다루는 기본 함수와 테크닉(join, 리스트 컴프리헨션, find, count 등)을 정리했습니다.1. join()의 활용리스트의 각 요소를 특정 구분자로 연결해 하나의 문자열로 만듭니다. 문자열 리스트를 출력할 때, 파일 저장 등에서 자주 활용됩니다.fruits = ['apple', 'banana', 'orange']result = ",".join(fruits)print(result) # apple,banana,orange2. 리스트 컴프리헨션(List Comprehension)리스트를 간결하게 생성할 수 있는 파이썬만의 문법입니다. 조건문, 함수 적용 등 다양한 변형이 가능합니다.# 1부터 5까지 제곱값 리스트 만들기sq..

GDGoC/Python 2026.04.25

[Python] Algorithm #01: 자료구조

Python에서 자주 사용하는 기본 자료구조인 해시, 스택, 큐, 덱, 힙의 특징과 사용법을 정리했습니다.각 자료구조의 개념, Python에서의 구현 방법, 그리고 간단한 예시 코드를 다룹니다.1. 해시 (Hash, 딕셔너리)해시(Hash)키-값 쌍으로 데이터를 저장하는 자료구조입니다.Python에서는 dict 타입으로 구현되어 있습니다. 시간복잡도삽입: 평균 O(1), 최악 O(n)삭제: 평균 O(1), 최악 O(n)탐색: 평균 O(1), 최악 O(n)d = {'apple': 3, 'banana': 5}print(d['apple']) # 3d['orange'] = 7 # 값 추가for key, value in d.items(): print(key, value)2. 스택 (Stack)스택(Sta..

GDGoC/Python 2026.04.25

[Python] Basic #01: 입출력 고급

Python에서 입출력(I/O)을 더 빠르고 효율적으로 처리하는 방법을 다룹니다.대용량 데이터 처리에 유용한 sys.stdin, sys.stdout 사용법, 입력 속도 개선, EOFError 처리, 여러 줄 입력 처리(map, split 활용)까지 정리했습니다.1. sys 모듈과 빠른 입출력sys 모듈파이썬 표준 라이브러리로, 표준 입출력(키보드 입력, 화면 출력) 등 다양한 시스템 관련 기능을 제공합니다.대용량 데이터 처리나 입력 속도 개선이 필요할 때 자주 사용합니다.기본적으로 input() 함수는 느릴 수 있습니다. 많은 데이터를 입력받을 때는 sys.stdin.readline()을 사용하는 것이 훨씬 빠릅니다.출력도 마찬가지로, print() 대신 sys.stdout.write()를 사용하면 속도..

GDGoC/Python 2026.04.25