전체 글 121

[BOJ] #11724 연결 요소의 개수

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net BFS를 순회하면서 연결 요소의 갯수가 있는지 찾는 문제다. 처음엔 문제를 잘못 읽고 연결된 그래프가 몇개인지만 세아려서 출력하면 되는줄 알았는데, 아무 간선도 가지지않는 정점도 연결 요소에 포함시켜 구현해야 했다. 방향성 없고 가중치 없는 그래프다 보니 그냥 바로 BFS로 감을 잡고 풀었고, 백준 2606번 바이러스 문제와 유사한 ..

Algorithm/BOJ 2024.01.11

[알고리즘 공부] 프림 알고리즘 Prim's Algorithm

프림 알고리즘이란? 최소 신장 트리 (Minimum Spanning Tree, MST) 구현에 사용되는 알고리즘으로 시작 정점에서 정점을 추가해가며 단계적으로 트리를 확장하는 기법이다. 프림 알고리즘의 시퀀스 1. 시작할 정점을 MST집합에 넣는다. 2. MST집합에 속한 정점들과 인접한 정점들 중 가장 낮은 가중치의 간선과 연결된 정점을 MST집합에 넣는다. 3. 2번과정을 MST집합의 원소 개수가 그래프 정점의 갯수가 될 때까지 반복한다. 4. 만들어진 MST집합의 가중치를 다 더해서 MST Cost 산출. 크루스칼 알고리즘 vs 프림 알고리즘 크루스칼 알고리즘 : Kruskal's Algorithm 프림 알고리즘 : Prim's Algorithm 그래프의 최소 가중치 간선들을 정렬된 순서로 추가하여..

[알고리즘 공부] 크루스칼 알고리즘 Kruskal's Algorithm

크루스칼 알고리즘이란? 최소 신장 트리 구현에 사용되는 알고리즘으로, 가중치가 있는 그래프의 모든 간선들을 대상으로 1. 최소 비용의 간선으로 구성 2. 사이클을 형성하지 않음 의 조건을 지켜가며 각 단계마다 최선의 해를 선택하기에 그리디 알고리즘에 기원을 둔다. 크루스칼 알고리즘의 시퀀스 1. 그래프의 간선들을 가중치 기준으로 오름차순 정렬한다. 2. 정렬된 간선들 중 가중치가 작은 순서대로 사이클을 형성하지 않는 한 선택한다. 3. 선택된 간선으로 MST를 구현한다. 4. MST 집합의 원소의 개수가 V-1개가 될때까지 위 단계를 반복한다. 이때, 주의해야 할 점은 사이클을 형성하지 않게 정렬된 간선들을 선택한다는 것이다. 따라서 사이클을 형성하는지 안하는지에 대한 판가름을 해줄 수 있는 메소드를 같..

[자료구조] 최소 신장 트리 Minimum Spanning Tree

신장 트리란? (ST, Spanning Tree) 모든 임의의 정점이 연결된 그래프의 부분 그래프이다. 모든 정점이 간선으로 연결되어 있지만, 사이클은 존재하면 안된다. 최소 신장 트리란? (MST, Minimum Spanning Tree) 그래프의 간선에 가중치가 부여될때, 신장 트리를 구성하는 간선들의 가중치의 합이 가장 작은 신장 트리이다. 이 최소 신장 트리를 구할때엔 보통 2가지 알고리즘을 활용해 최소 신장 트리를 구하게 되는데, 크루스칼 알고리즘과 프림 알고리즘이 그것이다. 최소 신장 트리의 특징 - 신장 트리들 중 간선의 가중치 합이 최소이다. - N개의 정점을 갖는 그래프에 대해 N-1개의 간선만 사용해야 한다. - 사이클이 존재하면 안된다. - 항상 최단 경로를 보장하지는 않는다. => ..

Data Structure 2024.01.10

240110 수 17:00 경제 기사 요약

- 코스피, 외인·기관 매도에 2540대 마감… 6거래일 연속 하락 - 삼성전자, LG에너지솔루션 등 국내 주요 업체들이 잇달아 ‘어닝쇼크’ - 日증시, 3일 연속 큰폭 상승 3만4441 마감…33년11개월만에 최고치 - 현대자동차그룹, ‘소프트웨어 중심 자동차(SDV)’ 플랫폼 개발에 삼성전자 ‘엑시노스 오토’활용 - 엔비디아 베팅 늘린 ETF '웃음꽃'…순자산 1년새 3.6배 급증 - 올해부터 내년까지 준공되는 소형 주거용 오피스텔 매입시 세제 혜택 - 尹정부 "규제 최소화로 주택공급 속도내겠다" - 건설협회 "주택공급 정책 환영…정책 실현 가능성 매우 높아"

[BOJ] #2667 단지번호붙이기

https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net BFS 문제를 계속 풀어보고 있는데, 이 문제 또한 비슷한 형태의 알고리즘이다. BFS로 풀리는 문제는 정해진 몇몇개의 특징이 있는 듯 하다. 1. 가중치가 없는 그래프에서 최단 경로를 찾아야 한다거나 2. 그런 최단 경로의 갯수를 구한다거나 3. 어떤 행렬이나 지도를 주고 그 지도에서 같은 부분으로 묶이는 영역을 구한다거나 이런 특정한 조건이 들어간 문제가 있으면 웬만하면 BFS로 접근해라 라는 ..

Algorithm/BOJ 2024.01.10

[BOJ] #1697 숨바꼭질

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net "가장 빠른 시간"을 구해야 하는 문제니 BFS를 적용하여 풀었다. 처음엔 그냥 산술적으로 브루트포스 같은것들을 적용시켜 도전하려 했으나, 주어지는 입력의 최댓값이 100,000이고, 제한시간이 2초니까 O(N^2)짜리 코드로 풀면 시간초과가 날것이다. 따라서, BFS를 이용하여 푸는쪽으로 방향을 잡았다. 그래프를 형태가 인접리스트로 주어지는것이 아니기 때문에 오로지 큐..

Algorithm/BOJ 2024.01.10

240109 월 21:00 경제 기사 요약

- 상승 출발 했던 코스피, 상승분 반납하며 강보합, 삼성전자 2%대 하락 - 日 증시 '버블붕괴' 후 33년10개월만에 최고 - 네이버페이, ‘주택담보대출 비교’ 출시 - 새해 초 부진했던 미국 증시 1월 둘째주 첫날에 큰 폭 상승, 나스닥지수 2.2% 상승, S&P500, 다우존스 1.4%, 0.6% 상승 - 오는 11일 개장 전 지난해 12월 소비자 물가지수(CPI) 발표 - 오는 12일부터 지난해 4분기 실적 발표 본격화 - 9일부터 12일까지 CES 개최 - 공공이 아닌 민간 주도 주택사업에 심의 기간 단축, 용적률 완화 등 각종 특례를 주는 '민간 제안 도심복합사업' 도입

[BOJ] #2606 바이러스

https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net BFS를 활용하면 금방 풀리는 문제이다. 입력으로 주어지는 그래프를 인접 리스트 형식으로 구현해놓고, BFS만 돌리면 끝이다. 다만 여기서 포인트는 BFS를 순회하면서 정점들을 기록하는것이 아닌 정점들의 갯수만 카운트 시키고, 마지막 출력할때에 카운트된 변수에서 1만 빼주면 된다. 문제에서 요구하는 출력 조건이 "1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수"이기 때문에 1번 컴퓨터 본인은..

Algorithm/BOJ 2024.01.08

240108 12:00 경제 기사 요약

- 코스피 2580선 상승 출발 - 외환 당국, 올해 외환시장 선도은행으로 국민은행, 산업은행, 신한은행, 우리은행, 제이피모간체이스은행, 크레디아그리콜은행, 하나은행 등 7개 은행 선정 - 삼성전자, 모두를 위한 AI 미래 비전 공개 - 삼성전자, 1년만에 분기 영업익 3조원대 복귀 전망 - 서울 아파트 10억->8억 낙찰, 경매시장 한파 지속 - 지난해 30대 전국 아파트 매입 비중 역대 최대, 전체의 26.7% 차지

728x90