python 4

[Python] 프로그래머스 고득점 kit - 완전 탐색

완전 탐색은 그 자체로 알고리즘이 아니며,완전 탐색을 이용하기 위해 여러 알고리즘 기법들이 사용됨Brute-ForceBitmask순열백트래킹 (주로 DFS를 이용)DFS/BFS대부분 for문과 if 문을 활용하거나 BFS/DFS를 활용하는 경우가 대부분순열/조합을 활용해 완전 탐색 문제를 푸는 방법도 꽤 자주 나옴  순열재귀적으로 순열 구현def permutation(arr, r): result = [] def permute(p, index): if len(p) == r: result.append(p) return for idx, data in enumerate(arr): if idx not in index:..

코딩테스트 2025.03.17

최단거리 - DFS/BFS

📌 DFS, BFS 사용예제[ DFS ]경로의 특징을 저장해둬야 하는 문제 ex. 각 정점에 숫자가 적혀있고 a부터 b까지 가는 경로를 구하는데 경로에 같은 숫자가 있으면 안 되는 조건 등(BFS는 경로의 특징을 가지지 못함)[ BFS ]최단거리를 구하는 문제ex. 문제미로 찾기 → DFS는 모든 경로를 탐색해야되지만, BFS는 탐색 시 먼저 찾아지는 해답이 곧 최단거리이기 때문 (=최단 거리를 찾자마자 종료할 수 있음)   💡게임 맵 최단 거리(Lv.2)  📌 과정 : 현재 방문 좌표 / 다음 이동 좌표 (큐에 추가) / 큐 상태 (FIFO)1(0,0)(1,0)[(1,0)]2(1,0)(2,0)[(2,0)]3(2,0)(3,0)[(3,0)]4(3,0)(3,1)[(3,1)]5(3,1)(3,2)[(3,2..

[알고리즘, Python] 프로그래머스 고득점 Kit - DFS/BFS

그래프 기본 설명노드(Node)와 간선(Edge)로 표현되며, 이 노드를 정점(Vertex)라고 말함그래프 탐색이란 하나의 노드를 시작으로, 다수의 노드를 방문하는 것두 노드가 간선으로 연결되어 있다면, 두 노드는 인접하다(Adjacent)고 표현그래프와 트리의 차이: 그래프 중에서 방향성이 있는 비순환 그래프 = 트리그래프 표현 방법인접행렬: 2차원 배열로 그래프의 연결 관계를 표현인접리스트: 리스트로 그래프의 연결 관계를 표현# 인접행렬INF = 99999999matrix = [ [0, 7, 5], [7, 0, INF], [5, INF, 0]]print(matrix)===> [[0, 7, 5], [7, 0, 99999999], [5, 99999999, 0]# 인접리스트list = [[] f..

Jupyter Notebook 사용법

01. Anaconda 배포판 설치Anaconda 설치 후 Jupyter 명령창 실행Jupyter Notebook 실행되는 동안 명령창 닫지 말 것02. Jupyter Notebook 사용파란색 - 명령모드, 초록색 - 편집모드 > Run할 경우 실행 및 새로운 셀 추가셀 단위로 Line Number 확인: 메뉴바 View > Toggle Line Number 실행 순서에 따라 결과값이 달라질 수 있음Run 옆에 네모 누르면, interrupt마크다운 사용 가능 (서식 지정 후 문서 작성 가능)메뉴바 Edit -> Insert Image : 이미지 삽입 > 실행HTML 사용 가능 (##HTML 작성 후 HTML 문법 사용)03. 단축키: 메뉴바 Help > Keyboard Shortcuts 로 단축키 확..

기타 2023.03.02