[이분탐색] 파라메트릭 서치 ( Prarmetric Search )
·
algorithm/coding test
1. 파라메트릭 서치: 최적화 문제 ( 문제상황을 만족하는 변수의 최소, 최대를 구하는 문제)를 결정문제로 바꾸어 푸는 것 - 문제를 최적화 하는 방법 중 하나이다. ex : (특정 조건에 맞는 최대값을 구하라 ) -> (값x가 특정조건에 맞는지) - 정답을 직접 찾는게 아니라 조건을 만족하는 값의 범위를 이분탐색으로 좁히는 방식 2. 구현 코드 : 3. 언제 사용하는가? : - 답의 범위가 매우 클 때 (완전탐색 불가능)- "최대 / 최소"를 구하는 문제일 때- 어떤 값이 조건을 만족하는지 판단할 수 있을 때 4. 파라메트릭서치의 조건 - 가능한 해의 영역이 연속적이어야 한다 즉,값이 증가(또는 감소)함에 따라조건의 결과가 한 방향으로만 바뀌어야 한다. 5. 추천 예제1) 기본 개념 이해..
[JAVA] 최소 공통 조상 (Lowest Common Ancestor) 구현하기
·
algorithm
1. 최소 공통 조상 : 트리에서 두 노드가 있을 때(u와 v), 둘 다의 노드 중에서 가장 가까운(깊은) 노드를 의미한다-> 공통 부모들 중에서 가장 아래에 있는 노드 구현 방법에는 "단순 구현(단순 상승)", "LCA + DP", "LCA + 세그먼트 트리" 이렇게 3방법이 있다.이 글에서는 단순 상승을 먼저 다뤄볼 예정이다..! 2. 구현 방법 ( 단순 상승 ) BFS(/DFS)탐색을 하면서 각 노드의 부모노드와 깊이를 계산두 노드의 깊이를 비교하여 더 깊은 노드를 올려 두 노드의 깊이를 동일하게 맞춘다두 노드를 동시에 한 칸씩 올리면서 두 노드가 동일해질 때까지 비교한다. 3. 구현 코드package org.bibisam06.tree.template;/* 단순 상승 LCA(Lowest ..
[프로그래머스] Lv1. 조건에 부합하는 중고거래 댓글 조회하기
·
algorithm/sql
문제 링크 : 조건에 부합하는 중고거래 댓글 조회하기 문제 설명 : USED_GOODS_BOARD와 USED_GOODS_REPLY 테이블에서 2022년 10월에 작성된 게시글 제목, 게시글 ID, 댓글 ID, 댓글 작성자 ID, 댓글 내용, 댓글 작성일을 조회하는 SQL문을 작성해주세요. 결과는 댓글 작성일을 기준으로 오름차순 정렬해주시고, 댓글 작성일이 같다면 게시글 제목을 기준으로 오름차순 정렬해주세요. B.TITLE, B.BOARD_ID, R.REPLY_ID, R.WRITER_ID, R.CONTENTS, DATE_FORMAT(R.CREATED_DATE, '%Y-%m-%d') AS CREATED_DATEFROM USED_GOODS_BOARD AS BJOIN USED_G..