분류 전체보기 49

[Paper Review] Very Deep Convolutional Networks for Large-Scale Image Recognition

https://arxiv.org/pdf/1409.1556v6Abstract대규모 이미지 인식 환경에서 convolutional network의 depth가 정확도에 미치는 영향을 실험적으로 분석함small 3 \( \times \) 3 convolution filter를 사용하는 구조에서 depth를 16~19개의 weight layer까지 늘려 기존 prior-art보다 높은 정확도를 달성함해당 모델은 ILSVRC 2014에 출전하여 localisation 부문 1위, classification 부문 2위를 기록함학습된 representation은 다른 dataset에도 잘 generalise되어 SOTA 성능을 보였으며, 후속 연구를 위해 성능이 가장 뛰어난 두 개의 ConvNet 모델을 공개함 1..

Paper Review/CV 2025.04.28

[Python | 10282] 해킹

https://www.acmicpc.net/problem/10282문제 설명최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 그로부터 일정 시간 뒤 a도 감염되고 만다. 이때 b가 a를 의존하지 않는다면, a가 감염되더라도 b는 안전하다.최흉최악의 해커 yum3이 해킹한 컴퓨터 번호와 각 의존성이 주어질 때, 해킹당한 컴퓨터까지 포함하여 총 몇 대의 컴퓨터가 감염되며 그에 걸리는 시간이 얼마인지 구하는 프로그램을 작성하시오. 📌 시간 제한: 2초입력첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스의 개수는 최대 100개이다. 각 테스트 케이스는 다음과 ..

Algorithm/Baekjoon 2025.04.27

[Python | 23324] 어려운 모든 정점 쌍 최단 거리

https://www.acmicpc.net/problem/23324문제 설명연두는 방금 "플로이드 와샬 알고리즘"을 공부했다. 이 알고리즘은 \( N \)개의 정점으로 이루어진 그래프에서, 모든 정점 쌍의 최단 거리를 \( O(N^3) \)에 구해준다.신이 난 연두는 자신이 좋아하는 그래프를 하나 가져왔다. 이 그래프는 \( N \)개의 정점과 \( M \)개의 양방향 간선으로 이루어진 단순 연결 그래프이며, 정점에는 \( 1, 2, \ldots, n \)으로 번호가 매겨져있다. 또한 딱 하나의 간선에만 1의 가중치가 있고 나머지 간선은 가중치가 0이다.이제 이 그래프에서 모든 정점 쌍의 최단 거리의 합을 구해보려고 한다. 즉, \( 1 \le i 연두는 신나서 코드를 짰지만 한참 동안 기다려도 결과가 ..

Algorithm/Baekjoon 2025.04.27

[도서 리뷰] 머신 러닝 Q & AI

길벗 출판사의 개발자 리뷰어 프로그램을 통해 『머신러닝 Q&AI』를 리뷰할 기회를 얻게 되었다. 머신러닝을 처음 접하거나 개념을 체계적으로 정리하고 싶은 분들께 이 책이 어떤 도움을 줄 수 있을지 소개해보려 한다. 1. 🧠 책의 전반적인 구성AI 공부를 하다 보면 종종 전체 그림은 흐릿한데 세부 기술에만 몰두하게 되는 순간이 있다.『머신러닝 Q&AI』는 그런 막막함을 조금이나마 풀어줄 수 있는 구성을 가지고 있다. 처음부터 무겁고 복잡한 공식이나 구조를 들이대지 않고 대신 꼭 짚고 넘어가야 할 핵심 질문을 던지고, 짧게 설명해나가는 식이다.읽다 보면 ‘왜 이런 방법을 쓰는지’, ‘이 개념이 어떤 흐름 속에서 등장했는지’ 같은 맥락을 자연스럽게 이해하게 된다.딱딱한 이론서 느낌은 아니다. 오히려 공부를 ..

Archive 2025.04.27

[Algorithm] 다익스트라 알고리즘 (Dijkstra algorithm)

현실 세계에서 우리는 종종 어떤 출발지에서 목적지까지 가장 빠른 길, 가장 저렴한 경로, 혹은 가장 짧은 통신 경로를 찾아야 할 때가 있다. 이런 문제들은 그래프라는 수학적 구조로 표현할 수 있다. 그래프는 정점(노드)과 간선(정점 간 연결선)으로 구성되며, 간선은 이동에 필요한 비용, 거리, 시간 같은 가중치를 가진다. 그래프는 유방향(방향이 있는 간선)일 수도 있고, 무방향(양쪽으로 이동 가능한 간선)일 수도 있다. 다익스트라 알고리즘은 둘 모두에 적용할 수 있으며, 무방향 그래프에서는 각 간선을 양 방향 모두 등록해야 한다. 예를 들어, \( u \)와 \( v \) 사이에 간선이 있다면, \( u \to v \), \( v \to u \) 모두 추가해주어야 다익스트라 알고리즘이 정상 동작한다.문제..

Algorithm/Deep Dive 2025.04.27

[Paper Review] (AlexNet) ImageNet Classification with Deep Convolutional Neural Networks (2012)

AlexNet은 논문 ImageNet Classification with Deep Convolutional Neural Networks 에서 소개된 모델입니다. 이 글에서는 해당 논문의 주요 내용을 리뷰하였으며, 논문을 바탕으로 구조를 직접 구현한 내용을 여기에 정리하였습니다. AbstractImageNet LSVRC-2010의 120만 장 high-resolution 이미지를 1000개 클래스로 분류하는 DNN을 학습함test 데이터에서 top-1 error rate 37.5%, top-5 error rate 17.0%를 기록하며 기존 SOTA보다 우수한 성능 기록5개의 convolutional layer와 3개의 fully-connected layer로 구성, 총 60 million parameter..

Paper Review/CV 2025.04.23

[Python | 2580] 스도쿠

https://www.acmicpc.net/problem/2580문제 설명스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 일부 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다.나머지 빈 칸을 채우는 방식은 다음과 같다.각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.굵은 선으로 구분되어 있는 3x3 정사각형 안에도 1부터 9까지의 숫자가 한 번씩만 나타나야 한다.위의 예의 경우, 첫째 줄에는 1을 제외한 나머지 2부터 9까지의 숫자들이 이미 나타나 있으므로 첫째 줄 빈칸에는 1이..

Algorithm/Baekjoon 2025.04.20

[Python | 7562] 나이트의 이동

https://www.acmicpc.net/problem/7562문제 설명체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 있을까? 📌 시간 제한: 1초입력입력의 첫째 줄에는 테스트 케이스의 개수가 주어진다.각 테스트 케이스는 세 줄로 이루어져 있다. 첫째 줄에는 체스판의 한 변의 길이 l(4 ≤ l ≤ 300)이 주어진다. 체스판의 크기는 l × l이다. 체스판의 각 칸은 두 수의 쌍 {0, ..., l-1} × {0, ..., l-1}로 나타낼 수 있다. 둘째 줄과 셋째 줄에는 나이트가 현재 있는 칸, 나이트가 이동하려고 하는 칸이 주어진다.출력각 테스트 케이스..

Algorithm/Baekjoon 2025.04.13

[Python | 5014] 스타트링크

https://www.acmicpc.net/problem/5014문제 설명강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다.스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층이다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 한다.보통 엘리베이터에는 어떤 층으로 이동할 수 있는 버튼이 있지만, 강호가 탄 엘리베이터는 버튼이 2개밖에 없다. U버튼은 위로 U층을 가는 버튼, D버튼은 아래로 D층을 가는 버튼이다. (만약, U층 위, 또는 D층 아래에 해당하는 층이 없을 때는, 엘리베이터는 움직이지 않는다)강호가 G층에 도착..

Algorithm/Baekjoon 2025.04.13

[Algorithm] 그래프와 순회(Graph traversal) 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)

우리가 알고리즘을 공부하면서 마주치는 수많은 문제들 — 예를 들면 미로 탈출, 경로 찾기, 친구 관계 분석, 조직도 순회 등 —은 겉보기에는 다양해 보이지만 결국 "대상들 간의 연결 관계를 어떻게 탐색할 것인가"라는 문제로 귀결된다.이때 필요한 개념이 바로 그래프(Graph)다. 그래프는 노드(정점)과 간선(연결선)으로 이루어져 있으며, 정점은 어떤 대상(예: 도시, 사람, 웹페이지 등)을, 간선은 그들 사이의 관계(예: 도로, 친구 관계, 하이퍼링크 등)를 나타낸다. 그래프를 활용한 문제를 해결하려면, 그래프 자체를 어떤 방식으로 표현할 것인가가 먼저 결정되어야 한다.이를 위해 보통 그래프를 코드로 표현하는 두 가지 방식, 즉 인접 행렬(Adjacency Matrix)과 인접 리스트(Adjacency ..

Algorithm/Deep Dive 2025.04.13