본문 바로가기

Java/백준

(106)
[JAVA] 백준 11279 최대 힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net - 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램 1. 배열에 자연수 x를 넣는다, 2. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. - x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산 - x가 0이라면 배열에서 가장 큰 값을 출력하고 그 값을 배열에서 제거하는 경우 - 만약 배열에 비어 있는 경우인데 가장 큰 값을 출력하라고 한 경우에..
[JAVA] 백준 1300 K번째 수 https://acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net - 세준이는 크기가 N*N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i*j 이다. 이 수를 일차원 배열 B에 넣으면 배열 B에 넣으면 B의 크기는 N*M이 된다. B를 오름차순으로 정렬했을 때, B[k]를 구해보자 - 배열 A와 B의 인덱스는 1부터 시작한다. 문제 풀이 [백준] 1300번 : K번째 수 - JAVA [자바] (tistory.com) [백..
[JAVA] 백준 2110 공유기 설치 https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net - 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ... ,Xn이고, 집 여러개가 같은 좌표를 가지는 일은 없다. - 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 ..
[JAVA] 백준 2805 나무 자르기 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net - 상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재 전달기를 이용해서 나무를 구할 것이다. - 목재 절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정..
[JAVA] 백준 1654 랜선 자르기 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net - 집에서 시간을 보내던 오영식은 부름을 받고 급히 달려왔다. 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. - 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선을 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. - 예를들어..
[JAVA] 백준 2740 행렬 곱셈 https://www.acmicpc.net/problem/2740 2740번: 행렬 곱셈 첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 순서대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개 www.acmicpc.net - N*M 크기의 행렬 A와 M*K 크기의 행렬 B가 주어졌을 때, 두 행렬을 곱하는 프로그램 문제 풀이 행렬의 곱셈 행렬의 곱셈, 행렬의 거듭제곱 – 수학방 (mathbang.net) 행렬의 곱셈, 행렬의 거듭제곱 행렬의 곱셈은 행렬의 실수배에 비하면 훨씬 어려워요. 행렬을 곱할 수 있는 조건이 있어 이 조건을 만족하지 않으면 곱셈을 하지 못하는 경우도 있어요. 게다가 계산방식..
[JAVA] 백준 11401 이항 계수 3 https://www.acmicpc.net/problem/11401 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net - 자연수 N과 정수 K가 주어졌을 때 이항 계수를 1,000,000,007로 나눈 나머지를 구하는 프로그 문제 풀이 이항 계수 알고리즘 - Dynamic Programming, 페르마의 소정리 (velog.io) 이항 계수 알고리즘 - Dynamic Programming, 페르마의 소정리 이항 계수 알고리즘을 구현하자. Dynamic Programming을 통한 구현과 페르마의 소정리를 이용한 구현... velog.i..
[JAVA] 백준 1629 곱셈 https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net - 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램 문제 풀이 분할 정복을 이용한 거듭제곱 [백준] 1629번 : 곱셈 - JAVA [자바] (tistory.com) [백준] 1629번 : 곱셈 - JAVA [자바] www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,48..