Sunny Archive ☀️
본문 바로가기

전체 글135

[프로그래머스] 게임 맵 최단거리 (Python) - BFS 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  코드 구현# 거리의 최적값 = 너비 우선 탐색 (BFS)from collections import dequedef solution(maps): # 상하좌우 이동 방향 moves = [[-1,0],[1,0],[0,-1],[0,1]] # 게임 맵의 행/열 n = len(maps) m = len(maps[0]) # 거리를 저장하는 배열 dist를 -1로 초기화 dist = [[-1]*m for.. 2025. 4. 7.
[프로그래머스] 네트워크 (Python) - DFS 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 위 문제의 경우, 모든 경우의 수를 탐색하기 때문에, DFS 알고리즘을 선택했습니다.  코드 구현from collections import defaultdictdef dfs(computers, visited, node): visited[node] = True for idx, connected in enumerate(computers[node]): # 연결되어있는데 방문하지 않은 노드일 경우 if co.. 2025. 4. 7.
[그래프] 깊이 우선 탐색 (DFS) DFS 소개그래프는 노드와 간선을 이용한 비선형 데이터 구조입니다. 깊이 우선 탐색(Depth First Search)는 시작 노드부터 탐색을 시작하여, 간선을 따라 최대 깊이 노드까지 이동하며 차례대로 방문하는 알고리즘 입니다. 최대 깊이 노드까지 방문한 이후, 이전에 방문한 노드를 거슬러 올라가며 해당 노드와 연결된 노드 중 방문하지 않은 노드로 다시 최대 깊이까지 차례대로 방문합니다.  DFS 알고리즘은 가장 깊은 곳을 우선하여 탐색하고, 더 이상 탐색할 수 없으면 백트래킹하여 최근 방문 노드부터 다시 탐색한다는 특징이 있어, 모든 가능한 해를 찾는 백트래킹 알고리즘을 구현할 때나 그래프의 사이클을 감지해야 하는 경우 활용할 수 있습니다. 알고리즘 동작 방식 깊이 우선 탐색은 재귀를 활용한 시스템 .. 2025. 4. 7.
[그래프] 너비 우선 탐색 (BFS) BFS 소개그래프는 노드와 간선을 이용한 비선형 데이터 구조입니다. 너비 우선 탐색(Breadth First Search)은 시작 노드와 거리가 가장 가까운 노드를 우선하여 방문하는 방식의 알고리즘 입니다. 여기서 거리는 시작 노드와 목표 노드까지의 차수를 말합니다. BFS 알고리즘은 루트 노드에서 가까운 노드부터 탐색하므로, 가중치가 없는 그래프에서 최단 경로를 보장합니다. 알고리즘 동작 방식BFS는 주로 큐를 이용해 구현합니다. 일단 시작 노드를 정하고, 큐에 시작 노드를 푸시합니다.시작 노드를 큐에 푸시하면서, 방문 처리를 합니다.큐에 있는 노드는 이미 방문 처리했고, 그 노드와 인접한 노드는 아직 탐색하지 않은 상태입니다.이후, 큐가 비어있는지 확인합니다.큐가 비었다면, 방문할 수 있는 모든 노드.. 2025. 4. 7.
음향 기반 폭력 상황 감지 시스템 개발 ※ 2021년 10월-12월에 진행한 개발 프로젝트입니다.목차1. 프로젝트 개요2. 프로젝트 수행 내용3. 데모 영상4. 프로젝트 성과5. 프로젝트 한계 및 향후 발전 방향6. 참고 자료1. 프로젝트 개요'음성 AI 솔루션 기업 B사와 진행한 프로젝트로, CCTV 사각지대에서 발생하는 범죄 및 위급 상황을 주변 음향 데이터 분석을 통해 실시간 감지하는 기술을 구현했습니다. 개발한 시스템은 비명, 폭행 소리 등 특정 음향 패턴을 분석해 상황 정보를 자동으로 인식하고, 위급 상황이 발생했다고 판별되면, 주변에 즉각적으로 알릴 수 있도록 비상벨을 작동시킵니다.  CCTV는 범죄 예방과 해결에 중요한 역할을 하고 있습니다. 전국적으로 800만 대 이상이 설치되었으며, 실제로 5대 강력범죄 발생률을 26.6% 감.. 2025. 3. 22.
Multi-Task Learning (MTL)의 정의 및 Speech Domain 적용 사례 목차1. Multi-Task Learning이란?2. Motivation3. Method 4. 장단점5. Speech Domain 적용 사례1. Multi-Task Learning이란?Multi-Task Learning (MTL)은 여러 개의 learning task를 동시에 해결하면서, 각 task 간 관계를 활용하는 머신러닝의 한 분야입니다. 서로 관련된 여러 task의 training signal에 포함된 도메인 정보를 inductive bias로 사용하여 모델의 일반화 성능을 향상시킵니다.  2. Motivation(1) 여러 개의 task를 함께 수행 → 한 task에서 배운 정보가 다른 task를 학습하는 데 도움 됨적용 예시 : 얼굴 인식 모델을 학습할 때  "나이 예측"을 추가로 학습하면,.. 2025. 2. 27.