본문 바로가기

이분 탐색12

[자바] 백준 12738 - 가장 긴 증가하는 부분 수열 3 (java) 문제 : boj12738 필요 알고리즘 개념 LIS (Longest Increasing Subsequence; 가장 긴 증가하는 부분 수열) LIS 알고리즘을 사용해 푸는 문제이다. 이분탐색, 매개변수 탐색법(parametric search) LIS 알고리즘 구현을 위해 가장 중요한건 이분탐색에서 그보다 큰 가장 작은 값 혹은 그보다 작은 가장 큰 값을 알 수 있는 매개변수 탐색법이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.. 2022. 8. 29.
[자바] 백준 25393 - 교집합 만들기 (java) 문제 : boj25393 필요 알고리즘 개념 이분 탐색 (binary search) 이 문제에서 매개 변수 탐색 알고리즘을 사용하기 위해 기본적으로 알아야 한다. 매개 변수 탐색 (parametric search) 이분 탐색에서 약간 응용된 알고리즘이다. 이분 탐색은 값 A를 찾는 것이고, 매개 변수 탐색은 값 A를 찾을 수도 있고, 그 보다 크거나 작은 수의 위치도 찾을 수 있다. 해시를 사용한 집합과 맵 자바를 기준으로 해시맵 자료구조를 알고 사용할 줄 알아야 한다. 애드 혹 애드 혹 문제이다. 이게 뭐냐면 그냥 아이디어 상품같은거라고 생각하면 된다. 보통 정형화된 방법으로 풀리지 않고 아이디어가 필요한 문제에 태그로 붙곤한다. 어찌보면 그리디에 가깝다. 이게 태그에 달려있다고 그걸보고 풀 수 있는건.. 2022. 8. 10.