-
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%2011286
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 절댓값 힙이라는 문제인데
배열에 정수 x를 넣고 빼는데 뺄대는 해당 배열값 중 절댓값이 가장 작은 값을 빼주며 절댓값이 같으면 그중
작은 수를 빼주는 자료구조다.
문제를 보고 우선순위 큐를 이용하면 되겠다고 생각했고
우선순위큐를 2개를 만들어서 하나는 내림차순 하나는 오름차순으로 두고
양수 값과 음수 값을 삽입하고 큐가 비었는지와
값 크기 여부들을 비교하여
문제를 해결했다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 1786 찾기 JAVA (0) 2021.11.12 Baekjoon 12015 가장 긴 증가하는 부분 수열 2 JAVA (0) 2021.11.12 Baekjoon 5525 IOIOI JAVA (0) 2021.11.12 Baekjoon 14503 로봇 청소기 JAVA (0) 2021.11.12 Baekjoon 11403 경로 찾기 JAVA (0) 2021.11.12 댓글