우선순위큐3 백준 2110 java - 가운데를 말해요 해당 문제는 아이디어 도출 : 구현 = 3 : 2 정도 시간이 걸린 문제이다. 이중 우선순위큐 문제랑은 약간 다른 느낌이지만 결국 시간 제한 0.1초 이내에 풀려면 이중 우선순위큐를 써야한다는 점이 핵심이다. 1. 1 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 4. 28. 백준 11286 java - 절댓값 힙 해당 문제는 최소힙 + CompareTo를 통해 풀 수 있었다. 그리고 자료형의 중요성과 문제를 제대로 읽어야 한 다는 것을 번 깨달은 문제이다... 1. 배열에 정수 x (x ≠ 0)를 넣는다. 2. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. -> 가장 작은 수를 출력하라고? 최소힙(우선순위큐)을 쓰면 되겠네 3. 1 따로 클래스 선언해서 써야겠다. 5. 자료형을 순간 2^32승이 int형 범윈 줄 알고 int형을 썼어서 틀렸고 절댓값이 같을 때를 처리 하지 않아서 계속 틀렸다. -> 이왜틀 시전 package boj; import java.io.BufferedReader; i.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 4. 27. 백준 14247 나무자르기 - JAVA 해당 문제를 풀 때 다음과 같이 접근했다. 1. 매일 매일 산에 오를 때마다 가장 큰 것을 자르면 어떨까? -> 테케에 맞지 않는다. 2. 나무가 자라는 게 등차 수열이네 -> 그러면 공차의 오름차순 대로 나무를 잘라볼까? -> 테케 맞음 3. 그러면 오름차순 정렬할 때 Arrays.sort를 쓸까? 4. 어차피 계속 배열을 유지할 필욘 없으니 PriorityQueue를 써볼까? 라는 의식흐름에서 나온게 다음과 같은 코드이다. -> 하지만 함정이 숨어 있었다...흑흑 다름아닌 데이터 타입... 최악의 상황을 가정해 보았다. 나무 100,000개에 등차가 10,000이고 첫항이 전부 100,000 일 경우 99999*100000/2*10000 + 100000 = 49,999,500,100,000 => lo.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 21. 이전 1 다음 728x90