전체 글

Hello World
    반응형
Archive/Mac 개발환경

VsCode 로 Dev Container (Docker) 환경 세팅하기

1. Docker 설치2. VsCode 에서 프로젝트 열기3. VsCode Extension 설치 4. cmd + shift + P > Dev Containers: Reopen in Container 선택 완료되면 도커에 항목 추가된다. 프로젝트에 .devcontainer/devcontainer.json 파일이 있어야 한다.

기록/크래프톤 정글

WIL 03 - 알고리즘 2

이번주 목표태도 : 자기주도적인 학습과 과제에 대한 몰입원리 파고들기 (50%)협업 : 팀원과 소통하며 시너지를 내는 과정내 풀이와 이해한 내용을 동료에게 설명함으로써 내것으로 만들기 (30%) 이번주는 전반적으로 아쉬웠다. 그래도 동료 학습 덕에 CSAPP 질문에 답변을 쓸 수 있었다. 시도한 접근 방식동료학습 문제의 주요 개념 학습 → 힌트 토대로 문제 풀이 → 동료학습을 토대로 구멍 찾기 → 구멍메우기 → 퀴즈 전날 힌트 지우고 문제 다시 풀기 CSAPP 책 읽기 → 모르는 내용 추가 공부 → 동료학습을 토대로 구멍 찾기 → 구멍 메우기 → 내용 블로그에 정리하기 동료학습은 서로 아는 내용을 설명하였다. 자신의 알고리즘 코드를 설명하고, CSAPP 1장의 이해한 내용을 공유한다. 이렇게 하니 같..

CS/자료구조·알고리즘

TIL - 다익스트라(Dijkstra) 최단경로

문제- 가중치가 음이 아닌(0 이상) 방향 그래프에서, 한 출발점 'start' 에서 다른 모든 정점까지의 최단 거리를 구하는 표준 알고리즘입니다.- 1959년 Edsger W. Dijkstra 가 발표하였으며, 우선순위 큐(min-heap) 와 결합한 구현은 공지된 표준 기법입니다. 본 지문과 테스트 케이스는 본 학습 자료를 위해 자체적으로 작성되었습니다. 문제풀이import heapqINF = float('inf')def dijkstra(n: int, edges: list, start: int) -> list: """ n: 정점 수 (정점 번호 0 ~ n-1) edges: (u, v, w) 형식 방향 간선 리스트 start: 출발 정점 반환: 길이 n 의 거리 리스..

CS/자료구조·알고리즘

TIL - 위상정렬

문제- 방향 그래프에서 순서를 정합니다.- 선행 작업이 먼저 오도록 정렬합니다.- 예: 과목 선수과목, 작업 순서과목:0(기초) → 1(중급) → 3(고급)0(기초) → 2(응용)위상 정렬: [0, 1, 2, 3] 또는 [0, 2, 1, 3] 문제풀이def topological_sort(vertices, edges): """ 위상 정렬 (Kahn's Algorithm) Args: vertices: 정점 개수 edges: (출발, 도착) 간선 리스트 Returns: 위상 정렬 순서 """ # (정점, 진입차수) 형태 graph = [[i,0] for i in range(vertices)] queue = dequ..

Back End/Python

Python에서 heap 사용하기, 힙큐(heapq)

힙이 필요한 이유원소 100만 개가 있고, 가장 작은 값 꺼내기를 100만번 반복해야 한다고 할 때, 아래와 같은 효율을 낸다.리스트 순회 : O(n)sort() : O(n log n)힙 : O(log n) 모든 원소를 다 정렬해 봐야하는 문제라면 힙은 의미가 없다. 힙이 필요할 때는 매번 극값(가장 크거나 작은 값) 하나만 필요할 때이다. Heap 힙 이란?힙은 최댓값과 최솟값을 찾는 연산을 빠르게 하기 위해 고안된 완전 이진트리를 기본으로 한다.완전 이진 트리 : 위에서 아래로, 왼쪽에서 오른쪽으로 빈틈없이 채워진다.힙 속성 : 모든 부모 ≤ 자식 (min heap 기준)형제끼리는 아무 순서 관계가 없다. 힙이 보장하는 건 오직 루트 heap[0] 가 전체 최솟값이라는 것이다. 파이썬의 힙큐 ..

    반응형
Lar
개발지식 저장소