동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다. 파이썬의 for문은 C의 for문과 구조가 다르고, enumerate, zip 같은 유용한 도구들도 있다.중첩 반복문에서 탈출하는 방법도 파이썬만의 패턴이 있다. while문기본 구조while 조건: 실행할 코드조건이 True인 동안 계속 반복한다. 1부터 9까지의 합i = 1result = 0while i 홀수만 합산i = 1result = 0while i 무한 루프 주의i = 1while i while문에서 루프 변수를 빠뜨리거나 잘못 갱신하면 무한 루프가 된다. 코딩테스트에서 시간 초과 원인 중 하나다.의도적인 무한 루프는 while True:로 쓰고, break로 탈출한다.while True: cmd = ..
동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다.파이썬은 다른 언어와 다르게 동작하는 부분들이 있어서, C/C++ 배경이 있으면 살짝 헷갈리는 게 몇 가지 있다.truthy/falsy 처리 방식이나 부등식 연결 같은 것들인데, 알고 나면 오히려 파이썬이 더 자연스럽다. if / elif / else 기본 구조score = 85if score >= 90: print("A")elif score >= 80: print("B")elif score >= 70: print("C")elif score >= 60: print("D")else: print("F")# 출력: Belif는 else if의 줄임이다. 조건이 위에서부터 순서대로 평가되고, 처음으로 True가..
동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다. 사전(dict)과 집합(set)은 둘 다 해시 테이블 기반이다.조회, 삽입, 삭제가 평균 O(1)이라는 게 가장 중요한 특징이다.코딩테스트에서 특정 값의 존재 여부를 빠르게 확인하거나 빈도수를 셀 때 필수적으로 사용한다. 사전 (dict)해시 테이블 기반 O(1) 조회사전은 키-값 쌍으로 데이터를 저장한다. 내부적으로 해시 테이블을 사용하기 때문에 리스트에서 O(N)이 걸리던 탐색이 사전에서는 O(1)에 가능하다.# 1만 개의 데이터에서 특정 값 탐색import timedata_list = list(range(1000000))data_dict = {i: True for i in range(1000000)}# 리스트 탐색 - O(..
동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다. 파이썬에서 가장 많이 쓰는 자료구조라고 할 수 있다.배열처럼 사용하고, 크기를 동적으로 늘릴 수 있고, 다양한 내장 메서드를 제공한다. 리스트 개념리스트는 순서가 있는 데이터의 묶음이다.배열처럼 인덱스로 접근하고, 다른 언어와 달리 파이썬 리스트는 여러 타입의 데이터를 함께 저장할 수 있다.# 기본 생성a = [1, 2, 3, 4, 5]b = [] # 빈 리스트c = list() # 빈 리스트 - b와 동일# 혼합 타입도 가능 (코딩테스트에선 잘 안 씀)mixed = [1, "hello", 3.14, True]print(a) # [1, 2, 3, 4, 5]print(len(a)) # 5 - 길이 리스트 초기화직..
동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다. 파이썬의 불리언(Boolean) 자료형은 참(True)과 거짓(False) 두 값만 갖는다.단순해 보이지만 파이썬에서는 int의 서브클래스라는 특성 때문에 다른 언어와 다르게 동작하는 부분이 있어 정리해둔다. 기본 사용a = Trueb = Falseprint(type(a)) # print(a, b) # True False 파이썬에서 True와 False는 반드시 첫 글자를 대문자로 써야 한다.true, false는 변수명으로 취급되어 NameError가 발생한다.print(true) # NameError: name 'true' is not definedprint(false) # NameError: name 'fal..
동빈나 채널의 파이썬 문법 부수기 유튜브 강의를 참고하여 정리한 내용이다. 리스트와 비슷하게 순서가 있는 자료형이지만, 둘 다 불변(immutable)이라는 공통점이 있다.문자열과 튜플의 특성을 제대로 이해해야 인덱싱, 비교, 수정 시도에서 실수를 줄일 수 있다. 문자열 (str)초기화# 작은따옴표a = 'hello'# 큰따옴표b = "world"# 작은따옴표 안에 작은따옴표가 필요할 때c = "It's a nice day"d = 'He said "hello"'# 백슬래시 이스케이프e = 'It\'s a nice day'f = "He said \"hello\""print(a) # helloprint(c) # It's a nice dayprint(d) # He said "hello" 특수 문자 이스..