문제 : https://www.acmicpc.net/problem/2696 홀수번째 수를 읽을 때마다 지금까지 입력받은 수의 중앙값을 구하는 문제이다.이 문제는 Heap을 이용하여 풀 수 있다.Heap은 수를 담는 자료구조로, Java에서는 우선순위큐(PriorityQueue)로 구현할 수 있다.Heap은 완전이진트리이며, 모든 정점은 자신의 자식보다 우선순위가 높다는 것이 중요한 성질 중 하나이다. Top이 최대값인 우선순위큐를 최대힙(MaxHeap)Top이 최소값인 우선순위큐를 최소힙(MinHeap) 이라고 한다.따라서, MaxHeap은 담긴 수 중 최대값을 바로 알 수 있고 최대값을 pop할 수 있다.또한 MinHeap은 담긴 수 중 최소값을 바로 알 수 있고 최소값을 pop할 수 있다. Prior..
No 버터, No 밀가루, No 설탕, No 계란"건강 브라우니, Raw브라우니" 다이어트를 하면서 간식은 먹고싶은데,시중에 파는 브라우니를 먹자니 양심찔리시는 분들.만들어 드시면 좋을 것 같아요.만들기도 엄청 쉬워요. 준비물 : 견과류 200g ( 저는 아몬드, 호두 각각 100g 씩 했어요)카카오파우더 3티스푼, 대추야자 (없으면 곶감 or 집에있는 건과일 대체) 100g소금 1 티스푼, 꿀 3티스푼 1. 먼저 견과류는 불려서 노폐물(?)을 빼줍니다.저는 전날 물에 담궈놓고 다음날 아침에 만들었어요.귀찮으신 분들은 그냥 만드셔도 상관은 없어요. 2. 대추야자도 물에 불려놓고 적당한 크기로 잘라줍니다.저는 대추야자와 곶감을 함께 사용했어요. 3. 불린 견과류를 70%정도 갈아줍니다.저는 두 번 만들 양..
문제KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 개의 탑이 수평 직선에 일렬로 서 있고, 모든 탑에서는 주어진 탑 순서의 반대 방향(왼쪽 방향)으로 동시에 레이저 신호를 발사한다고 하자. 그러면, 높이가..
Find 연산 어떤 정점의 루트를 찾아주는 연산입니다.자신이 루트라면 자신을 리턴합니다. 아래의 코드를 봅시다. 자신의 부모를 가르키는 배열이 par 이라고 정의했을 때,자신이 루트이면 자신을 리턴하고그렇지 않으면 재귀함수로 경로의 모든 노드의 부모를 루트로 재설정 해줍니다. Union 연산두 집합을 하나로 합쳐주는 연산입니다.들어온 인자들의 루트를 찾아서 비교한 다음루트가 다르면 둘 중 하나의 루트를 다른 하나의 루트의 자식이 되도록 변경합니다.그렇지 않으면 (루트가 같으면) 그냥 return하여 종료시킵니다. 요약하면,find(i) 는 i번의 루트를 찾는다는 연산이고union(a,b) 는 a와 b를 합치겠다는 연산입니다.
Skin by WaaNee | Copyright © 2017 by SBeen. All Rights Reserved.