
nums라는 리스트 변수가 있다고 해보자.nums의 값을 변경할때 아래와 같은 2가지 방법을 수행할 수 있음nums:... 와 nums=...nums:는 얕은 복사(Shallow Copy)를 수행하고, nums = ...는 참조 변경을 수행함.nums:의 특징원본 리스

파이썬의 표준 라이브러리에 포함된 힙 큐 알고리즘 모듈이진 트리 기반의 최소 힙(min heap) 자료구조 제공리스트를 직접 힙으로 조작할 수 있는 함수들을 포함import heapq 하여 사용 가능heappush()요소를 힙에 추가하는 함수heappop()힙에서 가장

그래프에서 노드 간의 최소 비용 경로를 찾는 알고리즘. 주로 길 찾기 문제에 적용되며, 그래프의 각 지점을 노드로, 지점 간 연결된 도로를 간선으로 표현.다익스트라크루스칼프림벨만-포드플로이드와샬특징음이 아닌 가중 그래프에서 단일 출발 최단 경로 문제에 적합매 단계마다

그래프에서 노드 간의 최소 비용 경로를 찾는 알고리즘. 주로 길 찾기 문제에 적용되며, 그래프의 각 지점을 노드로, 지점 간 연결된 도로를 간선으로 표현.다익스트라 벨만-포드 플로이드와샬음수 간선이 있을때 쓸 수 있는 최단 경로 알고리즘특징단일 출발점 최단 경로 알고리

플로이드 와샬 알고리즘은 그래프에서 모든 노드 쌍 간의 최단 경로를 찾는 동적 계획법 기반 알고리즘입니다.모든 정점 간 최단 경로 계산음수 가중치 간선 처리 가능시간 복잡도 O(N³)음수 사이클이 없는 그래프에서 사용모든 노드 간 직접 연결된 간선으로 초기 거리 행렬

팰린드롬은 앞으로 읽으나 뒤로 읽으나 같은 단어나 문장, 숫자를 의미대소문자, 공백, 특수문자는 무시될 수 있음단어, 문장, 숫자 등 다양한 형태로 존재문자열로 변환문자열의 길이를 2로 나눈 몫에 대하여앞문자와 뒷문자가 같은지를 체크다른 경우가 있다면 펠린드롬이 아님모

n+1개의 숫자로 구성된 배열에서단 하나의 숫자만 2번 이상 등장할때 그 숫자를 찾는 문제이다추가 조건으로 배열내 숫자는 1 - n사이 숫자내에서 등장한다예를들어 6개의 숫자로 구성된 배열이라면 배열 내 숫자는 1~5 사이의 숫자만 나오며 하나의 수만 2번이상 등장한다

Python에서는 문자열의 문자 유형을 검사하는 다양한 문자열 분류 메서드가 존재. 이러한 메서드들은 문자열의 구성 요소를 판별하는 데 유용.isalpha() - 알파벳 문자 판별문자열이 알파벳 문자(A-Z, a-z)로만 구성되었는지 확인반환값: 모든 문자가 알파벳이면

다수결 투표 알고리즘 Robert S. Boyer와 J Strother Moore의 알고리즘 배열에서 과반수(50% 초과)이상 등장하는 요소를 찾는 알고리즘 알고리즘 동작 원리 변수 설정 candidate: 잠재적 과반수 후보 count: 후보의 득표 수 첫

정수를 이진 표현으로 변환하는 데 사용정수를 이진 문자열로 변환결과는 항상 '0b' 접두사로 시작text = "42"padded = text.zfill(5)print(padded) \`\`\`문자열이 '+' 또는 '-' 부호로 시작하면, 0은 부호 다음에 채워짐tex
최소 신장 트리(MST)는 그래프 이론에서 매우 중요한 개념. 주어진 그래프에서 모든 정점을 연결하면서, 사용된 간선의 가중치 합이 최소가 되는 트리 구조를 찾는 것이 목표. MST는 네트워크 설계, 통신망 구축, 경로 찾기 등 다양한 분야에서 활용됨.연결성(Conne

누적합(혹은 prefix sum)은 알고리즘 풀이에서 아주 자주 등장하는 핵심 기법이다.시간복잡도, 효율적 데이터 처리가 중요한 많은 문제에서 누적합 배열을 이용하면 반복 계산을 대폭 줄일 수 있다.누적합이란, 배열 A의 원소들을 앞에서부터 더해가며 새로운 배열 S를

Heap(힙)은 완전 이진 트리 형태로 구성되며, 각 노드가 특정 규칙(우선순위)에 따라 정렬되어 있는 자료구조이다. 힙에서는 부모 노드와 자식 노드의 관계가 명확하다. Heap 자료구조의 주요 목적은 최댓값/최솟값을 빠르게 찾기 위함으로, 우선순위 큐를 구현할 때 자

업로드중..정렬은 데이터(리스트, 배열 등)를 특정 기준에 따라 순서를 재배열하는 알고리즘 혹은 작업이다. 검색 및 탐색 효율 향상정렬된 데이터는 이진 탐색 등 빠른 탐색 알고리즘을 적용할 수 있어 효율적이다.데이터의 가독성 및 관리정보가 체계적으로 배치되어 데이터의

이분 탐색(Binary Search)은 정렬된 데이터에서 특정 값을 빠르게 찾는 대표적인 탐색 알고리즘이다. 전체 구간을 반으로 나누어가며, 목표값을 찾을 때마다 검색 범위를 반씩 줄여가는 방식이다. 시간복잡도는 O(log n)으로 매우 효율적.데이터가 정렬되어 있을

DFS와 BFS는 알고리즘의 기초이자 핵심이라고 할 수 있다. DFS는 그래프 탐색 알고리즘 중 하나로, '깊이'를 우선으로 탐색한다. 다시 말해, 한 노드에서 시작하여 다음 분기로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방식이다.동작 원리: 스택(Stack) 또

순열과 조합은 경우의 수를 구할 때 많이 활용되는 수학적 개념이다. 이 개념은 개발 분야에서도 리스트, 배열 등의 데이터를 조합하거나 순서를 지정할 때 자주 사용된다. n개의 원소에서 r개를 순서 있게 뽑는 경우의 수다.예시: 3명 중 2명을 뽑아 줄을 세우는 모든 방

해시맵은 키-값(key-value) 쌍으로 데이터를 저장하는 자료구조이다. 해시 함수를 통해 키를 해시값으로 변환하고, 이 해시값을 인덱스로 사용하여 값을 빠르게 저장하거나 조회할 수 있다. 해시맵은 평균적으로 O(1)의 시간 복잡도로 데이터를 검색, 삽입, 삭제할 수

업로드중..알고리즘 시험에서 자주 사용하는 Set 자료구조에 대해 정리해보려 한다 Set은 중복을 허용하지 않는 데이터 집합이다. 원소의 존재 여부를 빠르게 확인할 수 있어, 중복 제거, 교집합, 합집합, 차집합 등 집합 연산에 매우 유용하다.추가(add): O(1)

업로드중..Disjoint-set(서로소 집합, Union-Find)은 여러 원소를 집합으로 묶고, 집합 간의 합치기와 대표 원소 찾기를 빠르게 처리하는 자료구조이다. 그래프에서 연결 여부, 사이클 판정, 최소 신장 트리(크루스칼) 등에 자주 사용이 되고있다.집합: 여