본문 바로가기

전체 글116

[백준] 우선순위 큐 - 11279번 최대힙 java 문제 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net 널리 잘 알려진 자료구조 중 최대 힙이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 풀이 우선순위큐(PriorityQueue)를 이용하면 힙을 구현하지 않고도 문제를 해결할 수 있다. 우선순위큐는 .. 2021. 8. 24.
[백준] 이분 탐색 - 2110번 공유기 설치 java 문제 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개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사.. 2021. 8. 22.
[백준] 이분 탐색 - 10816번 숫자카드2 java 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 풀이 이전 문제와 달리 이 문제는 중복되는 값의 개수를 구해야한다. 구하는 방법은, 상한(찾고자하는 값을 초과하는 값이 처음으로 나타나는 위치) - 하한.. 2021. 8. 20.
[Epper] 정수삼각형 java 자바 문제 풀이 문제에서 힌트를 줬듯이..ㅋㅋㅋㅋ dp를 이용하여 풀면 된다. dp를 초기화해주어야 하는데 가장 밑의 층을 입력받은 배열 값들로 초기화해준 후 시작한다. solution 함수에서는 인덱스 값 i, j를 파라미터로 받고 해당 인덱스의 dp 값이 0일 경우에 연산을 진행한다. 이때 아직 의문인 게.. i==n-1일 경우에 dp[i][j]를 return해주도록 작성을 해야 정답이 맞다고 나오는데 이미 초기화를 해주어서 상관 없는 거 아닌가 했는데.... 아닌가보다...... 모범 답안 나오면 그때 다시 확인해보는 걸로... 코드 package Level3; import java.util.Scanner; public class E14No9_정수삼각형 { static int[][]dp; static i.. 2021. 8. 18.