2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net N의..
이번 Sprint에서는 Binary Search와 Heap을 학습한다. Binary Search는 일반적인 방법과 Upper Bound, 그리고 Lower Bound가 있다. 이진 탐색 또는 이분 탐색으로도 불리는데, 이 알고리즘만 사용해서 PS를 하기..
원래 7월 7일 이내에 백준 Gold 2를 달고 싶었는데, 간발의 차이로 늦어버렸다. 티어가 뭐라고, 그래도 열심히 문제 푸는 데 자극이 된다. 2020년 12월 9일부터 시작해서 2021년 7월 7일이 되기까지 푼 문제의 수..
17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을..
17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을..
A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the vertices together, without any cycles and..
2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성..
14621번: 나만 안되는 연애 입력의 첫째 줄에 학교의 수 N와 학교를 연결하는 도로의 개수 M이 주어진다. (2 ≤ N ≤ 1,000) (1 ≤ M ≤ 10,000) 둘째 줄에 각 학교가 남초 대학교라면 M, 여초 대학교라면 W이 주..
1774번: 우주신과의 교감 (1,1) (3,1) (2,3) (4,3) 이렇게 우주신들과 황선자씨의 좌표가 주어졌고 1번하고 4번이 연결되어 있다. 그렇다면 1번하고 2번을 잇는 통로를 만들고 3번하고 4번을 잇는 통로를 만들면..
바빌로니아 방법으로 제곱근을 구현하는 방법이다. 제곱근을 구하는 방법이 다양하게 존재한다. 그 중에 가장 간단하고, 단순하게 구현할 수 있는 방법인 바빌로니아 방법을 구현한다. References Methods of comp..
References [Jira] Jira와 Github 연동하기 GitHub for jira를 통해 손쉽게 연동해보자 sujinnaljin.medium.com [Jira] Cloud Smart commit을 위한 Github 연동 Jira 와 Github 을 연동하면 Smart commits 기능으..
1647번: 도시 분할 계획 첫째 줄에 집의 개수N, 길의 개수M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄에 걸쳐 길의 정보가 A B C 세 개의 정수로..
1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net MST (Minimum Spanning Tree, 최소 신장 트리) Prim MST는 쉽게 말해서 Graph를 Tree로 변환..
1486번: 등산 첫째 줄에 산의 세로크기 N과 가로크기 M 그리고, T와 D가 주어진다. N과 M은 25보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 지도가 주어진다. T는 52보다 작거나 같은 자연수이고, D는 1,..
두 포인터 어떤 문제를 해결함에 있어 두 지점만 관리하면 된다는 알고리즘 방식이다. 딱히 어려운 개념은 아니지만, 각 지점의 예외처리 등을 잘하는 것이 중요하다. [Sliding Window] 정리 슬라이딩 윈도우 초기..
슬라이딩 윈도우 초기 개념은 네트워크 전략에서 사용되는 알고리즘 뜻한다. 패킷에 일련번호를 확인하여 특정 크기(window)에 해당하는 ACK 신호를 처리하는 방식인데, 여기서는 알고리즘에서의 슬라이딩 윈도우..
2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하..
3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i <..
Complete Binary Tree의 구조를 가지며 최소값이나 최대값을 쉽게 추출할 수 있는 유용한 자료구조이다. 일반적으로 구현할 때는 Generic이나 Object[] 등을 활용하며 구현하지만, 여기서는 단순하게 int형으로 구..
10025번: 게으른 백곰 첫 줄에 정수 N과 K가 들어온다. 둘째 줄부터 N째 줄까지, 공백을 사이에 두고 각 양동이의 얼음의 양을 나타내는 gi와 양동이의 좌표를 나타내는 xi가 주어진다. www.acmicpc.net Slidi..
3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다..
2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net Sliding Window Dyna..
플로이드-워셜 알고리즘의 구현 다익스트라 알고리즘처럼 최단거리/최소비용을 구할 때 사용하는 알고리즘이다. 다익스트라의 가장 큰 단점이 가중치가 음수일 경우 적용할 수 없는 것이다. 하지만 플로이드-워셜..
Adjacency Matrix Dijkstra 인접 행렬로 다익스트라 구현하기 다익스트라가 연필과 종이 없이 20분 동안 고안해냈다는 알고리즘이다. 그래프에서 최단 경로를 알아내는 알고리즘 중에서 가장 빠르다고 알려져 있다..