이진 탐색

·Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 랜선자르기" 문제는 길이가 서로 다른 K개의 랜선이 주어질 때, 이를 잘라서 동일한 길이의 랜선 N개를 만들 수 있는 최대 길이를 구하는 문제입니다.4 11802743457539 입력이 위와 같이 주어질 때 정확히 11개의 랜선을 만들 수 있는 길이는 186cm에서 200cm까지 총 15가지가 있습니다. 이 중에서 문제에서 요구하는 것은 최대 길이인 200cm입니다.180cm~185cm로 자르면 ➡️ 12개200cm보다 큰 길이로 자르면 ➡️ 11개 미만즉, 문제의 핵심은 동일한 길이의 랜선 N개를 만들 수 있는 최대의 길이를 찾는 것입니다. 여기서 알 수 있듯이 랜선을 자를 수 있는 길이가 연속적으로 여러 개 존재합니다. 이처럼 연속된 범위에서 조건..
·Coding Test/백준
문제설명입력 & 출력나의 풀이문제 접근 방법"백준 - 나무 자르기" 문제는 특정한 높이에서 나무를 잘라서 필요한 만큼의 나무를 얻을 수 있는지 여부를 결정할 수 있기 때문에 이진 탐색알고리즘을 사용한다면 효율적으로 풀이할 수 있습니다. [Algorithm] 이진 탐색 알고리즘 : 데이터 정렬과 검색 최적화 (Binary Search, Java)자바를 활용하다 보면 데이터 집합에서 특정 값을 빠르게 찾아야 할 때가 있습니다.  예를 들어, 정렬된 배열이나 리스트에서 원하는 값을 효율적으로 검색해야 하는 경우가 그렇습니다. 이러pixx.tistory.com 이 때 상근이는 환경에 매우 관심이 많기 때문에, 나무를 필요한 만큼만 집으로 가져가야 합니다. 즉, 적어도 M미터의 나무를 집에 가져가기 위해서 절단기..
·Coding Test/백준
문제설명입력 & 출력나의 풀이잘못된 코드public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); StringTokenizer token = new StringTokenizer(br.readLine()); int[] arrN = new int[N]; for (int i = 0; i el == n); }} 이번 숫자 카드문제는 선형 탐색을 한다면 ..
·Coding Test/백준
문제설명입력 & 출력 나의 풀이 이번 문제는 N개의 배열에서 M배열의 요소가 존재하는지 판단하는 문제입니다. 문자열에서 숫자를 찾는 방식을 사용할 수도 있지만, 문자열에서 숫자를 찾는 방식은 비효율적입니다. 따라서 이진 탐색을 사용하면 시간 복잡도를 크게 줄일 수 있습니다.  main문에서는 먼저 빠른 입력과 출력을 위해서 Buffer클래스를 사용하여 입력과 출력을 받아줍니다. StringTokenizer를 사용하여 공백을 구분하고 배열에 저장해 주고, 이진탐색에서 선행되어야 하는 정렬을 수행해줍니다. 그리고 이진 탐색함수로 받은 결과를 StringBuilder를 사용하여 결과를 추가해 줍니다. 이진탐색을 수행할 binarySearch 함수에서는 이진 탐색의 동작 방식인 시작점 left와 끝점 right..
지누박
'이진 탐색' 태그의 글 목록