본문 바로가기

전체 글

[클로바노트 공유]새로운 노트https://clovanote.naver.com/s/y29rNtwhddj4EyZHVXPvP8S비밀번호: mdq7ib 더보기
DFS, BFS DFS (Depth First Search)동작 방식이름처럼 깊이 우선 탐색이다.한 정점에서 출발해 갈 수 있는 경로를 따라 최대한 깊게 들어간 뒤, 더 이상 갈 수 없을 때 뒤로 돌아가면서 다른 경로를 탐색한다.재귀 함수나 스택(stack)을 사용해 구현한다.특징경로의 깊이를 우선적으로 탐색.모든 노드를 방문할 수 있다.재귀적(Recursive)으로 동작하므로, 구현이 간결하다.노드와 간선의 수에 따라 최악의 경우 O(V + E) (노드 수: V, 간선 수: E) 시간 복잡도를 가진다.예시# DFS with adjacency listdef dfs(graph, start, visited): #(그래프에 대한 정보, 해당 노드, 방문처리 정보) visited[start] = True # 현재 노드를 .. 더보기
파이썬 stack, queue 구현 Stackarr.append(4)arr.pop()* 재귀함수(recursive)도 stack의 일종이다   Queuefrom collections import dequedeque = deque()deque.append(4)deque.append(3)deque.append(2)deque.append(1)deque.popleft()deque* queue를 구현할 때 arr를 사용해서 arr.pop(0)을 하지 않는 이유 : arr.pop을 하면 원소를 꺼낸 후 원소들의 재배열이 이루어져서 시간복잡도가 O(n)만큼 일어남. 더보기
파이썬 sorted 함수 기본 사용법sorted 함수의 기본 구조는 다음과 같다:sorted(iterable, key=None, reverse=False)파라미터 설명:첫 번째 파라미터 (필수): 정렬할 데이터(iterable)정렬 가능한 모든 이터러블 객체(리스트, 튜플, 문자열, 딕셔너리 등)를 넣을 수 있다.두 번째 파라미터 key (선택적):각 요소의 정렬 기준을 설정하는 함수나 람다 함수.key를 지정하지 않으면, 기본적으로 요소 자체의 값을 기준으로 정렬된다.세 번째 파라미터 reverse (선택적):reverse=True로 설정하면 내림차순 정렬, 기본값은 reverse=False (오름차순). 예제 1: key 없이 사용 (기본 정렬)data = [3, 1, 4, 1, 5, 9] result = sorted(dat.. 더보기
global 키워드(전역변수를 함수 안에서 쓰고 싶을 때) global 선언이 필요한 경우global 선언이 필요한지 여부는 자료형이 아니라 수정 방식에 따라 달라진다.global 선언 필요 없음:변수를 읽기만 하는 경우.가변 객체(리스트, 딕셔너리 등)의 내용만 수정하는 경우.global 선언 필요:변수를 재할당하려는 경우.불변 객체(문자열, 숫자, 튜플 등)의 값을 변경하려는 경우 (새로운 값으로 대체). 헷갈리지 않기 위한 기준전역 변수의 **참조(id)**를 변경하려면 global 선언이 필요하다.전역 변수의 내부 데이터를 수정한다면 global 선언이 필요 없다. 더보기
input()과 sys.stdin.readline() 1. 속도input(): 상대적으로 느리다. 내부적으로 표준 입력을 처리하고, 입력 문자열에서 공백을 자동으로 제거하는 과정을 포함한다.sys.stdin.readline(): 훨씬 빠르다. 특히 많은 데이터를 입력받아야 하는 경우(for 반복문이나 대량의 입력) 유용하다.2.사용 용도input():기본적인 입력을 받을 때 사용한다.코드가 간단하고, 사용하기 편하다.sys.stdin.readline():많은 양의 데이터를 빠르게 처리할 때 사용한다.반복문 안에서 여러 줄의 입력을 처리하거나, 백준과 같은 알고리즘 문제에서 자주 쓰인다. input()sys.stdin.readline()속도느림빠름개행문자 처리자동 제거포함됨(필요시 .strip() 사용)사용 용도적은 입력많은 입력모듈 필요 여부필요없음impo.. 더보기
df.groupby Pandas의 groupby 뒤에 사용할 수 있는 함수는 주로 집계(aggregation), 변환(transformation), 필터링(filtering) 등과 관련된 함수이다. 아래에 자주 사용되는 함수들을 유형별로 정리하였다.1. 집계 함수 (Aggregation Functions)groupby에서 그룹별 데이터를 요약하는 데 사용한다.mean(): 그룹별 평균 계산sum(): 그룹별 합계 계산min(): 그룹별 최소값max(): 그룹별 최대값count(): 그룹별 값의 개수 (NaN 제외). 고유값이 아닌 모든 값size(): 그룹별 데이터 개수 (NaN 포함)median(): 그룹별 중앙값std(): 그룹별 표준편차var(): 그룹별 분산prod(): 그룹별 곱 계산quantile(q): 그룹별 .. 더보기
Series & DataFrame 1. Series1차원 데이터 구조이다.인덱스(index)와 값(value)로 구성된다.하나의 열(column)처럼 동작하며, 단일 데이터 타입만 가질 수 있다.import pandas as pd# Series 생성s = pd.Series([100, 200, 300], index=['A', 'B', 'C'])print(s)A 100B 200C 300dtype: int64 2. DataFrame2차원 데이터 구조이다.여러 개의 **열(column)**로 구성되며, 각 열은 Series로 취급된다.각 열은 서로 다른 데이터 타입을 가질 수 있다.행(row)과 열(column)로 데이터를 구성한다.# DataFrame 생성df = pd.DataFrame({'Name': ['Alice', 'Bo.. 더보기