이진탐색 [#1654] 부분수열의 합 이 친구도 완전 탐색 으로 풀면 되겠네! 요새 브루트 포스 문제를 많이 풀다보니, 일단 뭐든지 완전 탐색으로 풀어보자는 마인드가 생겼다. 이번 문제도 무조건 순차 탐색 (Linear Search) 일거라 생각했는... 길이가 각각 다른 랜선이 있고, 이를 모두 일정한 길이로 잘랐을 때 몇 개의 랜선이 나오느냐? K개의 랜선을 잘라 N개의 랜선을 만들어야 한다. 현재 K개의 랜선을 보유 중이나... 백준코테이진탐색백준 BOJ_1300_G2_K번째 수 B를 오름차순 정렬했을 때, B[k]를 구해보자. k는 min(109, N2)보다 작거나 같은 자연수이다. 필요한 칸의 노드가 몇 번째 대각선 사이에 있고 두 대각선을 찾았을 때 그 사이에 필요한 칸의 노드가 몇번째로 존재하는지 검사하면 값을 찾을 수 있으리라 생각했다. 4와 9 사이에는 4 4 6 6 5 5 8 8 가 있는데 문제에서는 정렬을 한다고 했으니 4 4 5 5 6 6 8 8이 되... 이진탐색boj알고리즘boj 1654번 랜선 자르기 파이썬 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 ... 이진탐색백준알고리즘백준 백준 2110 : 공유기 설치 1. 접근 거리의 범위는 1~(처음집과 끝집의 거리) 이다. 빠르게 정답 거리를 찾아내기 위해 이진탐색을 사용한다. 첫 집을 고정시켰을 때 대부분의 경우 답을 찾아낼 수 있다. (참고 : ) 첫 집과 i번째 집과의 거리가 mid와 일치하면, i번째 집과 그 다음 집과의 거리로 넘어간다 2. 나의 풀이 3. 참고... 이진탐색cppcpp 이진탐색 - 예제) 떡볶이 떡 만들기 핵심) 절단기에 설정할 수 있는 높이의 최댓값을 구하시오 적어도 합쳐서 M만큼의 썰린 떡을 얻어야한다. 첫줄에 떡의 갯수 N과 요청한 떡의 길이 M이 주어진다 (1<=N<=1,000,000 1<=M<=2,000,000,000) 둘째줄에 떡의 개별높이가 주어진다. (0<=높이<=10억) 발그림 ㅈㅅ 어차피 내가 이해하려고 그린거임 전형적인 이진탐색 문제이다 뭐?? 최적화 문제를 결정문제(yes... ParametricSearch알고리즘이진탐색ParametricSearch [백준/3020] 개똥벌래 (Java) 문제 링크 : 분류 : 이진탐색 풀이 시간 : 90분 이분탐색은 진짜 쥐약인 분야... 많이 풀어서 접근하는 방법/시야를 키워야겠다 문제 해설 높이가 M, 길이가 N인 동굴에 위쪽에는 종유석이 달려있고, 밑에는 석순이 있음 종유석과 석순은 각각의 높이를 가지고 있고, 무조건 석순이 맨 먼저 시작함 개똥벌래는 구간을 직진해서 동굴을 지나감 개똥벌래는 장애물을 피하지 않아서, 지나가다가 종유석이... 백준Javaalgorithm이진탐색Java 이진탐색 - 개념정리 이진탐색 사용 : 탐색 범위가 큰 상황에서의 탐색 전제조건 : 데이터가 정렬되어있어야 트리 자료구조 사용해 항상 정렬 상태 유지하는것이 good 시간복잡도 : O(logN) 순차탐색 처음부터 끝까지 찾을때까지 순서대로 조회 당연히 최악의 시간복잡도는 O(N) 이진탐색 조건 : 데이터는 이미 정렬되어있어야한다. ➡️ 이진탐색트리와의 연관 필요 : 시작점, 끝점, 중간점 찾으려는 데이터와 중간점... 이진탐색알고리즘알고리즘 알고리즘 01 재귀함수 기본 | 팩토리얼, 거듭제곱, 피보나치, GCD(최대공약수), 이진탐색) 외 | JS 재귀함수: 무한루프 재귀함수: 무한루프 개선 적어도 하나의 recursion에 빠지지 않는 경우가 존재해야 함 recursion을 반복하다보면 결국 base case로 수렴해야 함 1~n 까지의 합 구하기 팩토리얼(Factorial: n!) n! = n*(n-1)! (n>0) num^n = n * n^n-1 (n > 0) f(n) = f(n-1) + f(n-2) (n>1) 최대공약수 개선 문... 최대값거듭제곱이진탐색binary_searchGCD팩토리얼배열의합이진수피보나치최대공약수재귀함수순차탐색GCD 201218 개발일지(11일차) - 스택과 큐(1) : 오늘은 스택(Stack) 스택은 아래 그림처럼, 가장 마지막에 삽입한 데이터를 가장 먼저 사용하게 되는 자료구조이다. 즉, 후입선출(LIFO=Last-In, First Out)의 특성을 갖는다. 선입후출(FILO)도 같은 의미겠죠? 추가적으로 자동 메모리 및 대부분 네트워크 프로토콜이 이 스택의 개념을 기반으로 구성되어 있다고 한다. 스택의 중요 기능은 2개다. 1. 데이터 삽입(Push) : 스택의 구조상 최상위(... 이진탐색stack스택stack 백준 공유기 설치 2110 (python) 문제 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 첫째... binary이진탐색백준coding testBinary Search2110코테2110 [프로그래머스] 징검다리 건너기 문제 풀이에 이진 탐색을 떠올리는 것이 중요하다. 주어진 조건의 범위가 무지막지하게 클 경우 바로 의심을 해보자. 문제 또한 이 문제와 비슷한 조건과 풀이 형태를 가진다.... 프로그래머스이진탐색이진탐색 백준 - 숫자 카드 [10815] 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,0... 알고리즘Java정렬이진탐색Java [BOJ- JAVA] 10816 숫자 카드 2 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,00... 백준boj알고리즘코딩테스트이진탐색boj
[#1654] 부분수열의 합 이 친구도 완전 탐색 으로 풀면 되겠네! 요새 브루트 포스 문제를 많이 풀다보니, 일단 뭐든지 완전 탐색으로 풀어보자는 마인드가 생겼다. 이번 문제도 무조건 순차 탐색 (Linear Search) 일거라 생각했는... 길이가 각각 다른 랜선이 있고, 이를 모두 일정한 길이로 잘랐을 때 몇 개의 랜선이 나오느냐? K개의 랜선을 잘라 N개의 랜선을 만들어야 한다. 현재 K개의 랜선을 보유 중이나... 백준코테이진탐색백준 BOJ_1300_G2_K번째 수 B를 오름차순 정렬했을 때, B[k]를 구해보자. k는 min(109, N2)보다 작거나 같은 자연수이다. 필요한 칸의 노드가 몇 번째 대각선 사이에 있고 두 대각선을 찾았을 때 그 사이에 필요한 칸의 노드가 몇번째로 존재하는지 검사하면 값을 찾을 수 있으리라 생각했다. 4와 9 사이에는 4 4 6 6 5 5 8 8 가 있는데 문제에서는 정렬을 한다고 했으니 4 4 5 5 6 6 8 8이 되... 이진탐색boj알고리즘boj 1654번 랜선 자르기 파이썬 박성원이 캠프 때 쓸 N개의 랜선을 만들어야 하는데 너무 바빠서 영식이에게 도움을 청했다. 이미 오영식은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이다. 박성원은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. (이미 자른 랜선은 붙일 수 없다.) 편의를 위해 랜선을 자르거나 만들 때 손실되는 길이는 없다고 ... 이진탐색백준알고리즘백준 백준 2110 : 공유기 설치 1. 접근 거리의 범위는 1~(처음집과 끝집의 거리) 이다. 빠르게 정답 거리를 찾아내기 위해 이진탐색을 사용한다. 첫 집을 고정시켰을 때 대부분의 경우 답을 찾아낼 수 있다. (참고 : ) 첫 집과 i번째 집과의 거리가 mid와 일치하면, i번째 집과 그 다음 집과의 거리로 넘어간다 2. 나의 풀이 3. 참고... 이진탐색cppcpp 이진탐색 - 예제) 떡볶이 떡 만들기 핵심) 절단기에 설정할 수 있는 높이의 최댓값을 구하시오 적어도 합쳐서 M만큼의 썰린 떡을 얻어야한다. 첫줄에 떡의 갯수 N과 요청한 떡의 길이 M이 주어진다 (1<=N<=1,000,000 1<=M<=2,000,000,000) 둘째줄에 떡의 개별높이가 주어진다. (0<=높이<=10억) 발그림 ㅈㅅ 어차피 내가 이해하려고 그린거임 전형적인 이진탐색 문제이다 뭐?? 최적화 문제를 결정문제(yes... ParametricSearch알고리즘이진탐색ParametricSearch [백준/3020] 개똥벌래 (Java) 문제 링크 : 분류 : 이진탐색 풀이 시간 : 90분 이분탐색은 진짜 쥐약인 분야... 많이 풀어서 접근하는 방법/시야를 키워야겠다 문제 해설 높이가 M, 길이가 N인 동굴에 위쪽에는 종유석이 달려있고, 밑에는 석순이 있음 종유석과 석순은 각각의 높이를 가지고 있고, 무조건 석순이 맨 먼저 시작함 개똥벌래는 구간을 직진해서 동굴을 지나감 개똥벌래는 장애물을 피하지 않아서, 지나가다가 종유석이... 백준Javaalgorithm이진탐색Java 이진탐색 - 개념정리 이진탐색 사용 : 탐색 범위가 큰 상황에서의 탐색 전제조건 : 데이터가 정렬되어있어야 트리 자료구조 사용해 항상 정렬 상태 유지하는것이 good 시간복잡도 : O(logN) 순차탐색 처음부터 끝까지 찾을때까지 순서대로 조회 당연히 최악의 시간복잡도는 O(N) 이진탐색 조건 : 데이터는 이미 정렬되어있어야한다. ➡️ 이진탐색트리와의 연관 필요 : 시작점, 끝점, 중간점 찾으려는 데이터와 중간점... 이진탐색알고리즘알고리즘 알고리즘 01 재귀함수 기본 | 팩토리얼, 거듭제곱, 피보나치, GCD(최대공약수), 이진탐색) 외 | JS 재귀함수: 무한루프 재귀함수: 무한루프 개선 적어도 하나의 recursion에 빠지지 않는 경우가 존재해야 함 recursion을 반복하다보면 결국 base case로 수렴해야 함 1~n 까지의 합 구하기 팩토리얼(Factorial: n!) n! = n*(n-1)! (n>0) num^n = n * n^n-1 (n > 0) f(n) = f(n-1) + f(n-2) (n>1) 최대공약수 개선 문... 최대값거듭제곱이진탐색binary_searchGCD팩토리얼배열의합이진수피보나치최대공약수재귀함수순차탐색GCD 201218 개발일지(11일차) - 스택과 큐(1) : 오늘은 스택(Stack) 스택은 아래 그림처럼, 가장 마지막에 삽입한 데이터를 가장 먼저 사용하게 되는 자료구조이다. 즉, 후입선출(LIFO=Last-In, First Out)의 특성을 갖는다. 선입후출(FILO)도 같은 의미겠죠? 추가적으로 자동 메모리 및 대부분 네트워크 프로토콜이 이 스택의 개념을 기반으로 구성되어 있다고 한다. 스택의 중요 기능은 2개다. 1. 데이터 삽입(Push) : 스택의 구조상 최상위(... 이진탐색stack스택stack 백준 공유기 설치 2110 (python) 문제 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가장 인접한 두 공유기 사이의 거리를 최대로 하는 프로그램을 작성하시오. 첫째... binary이진탐색백준coding testBinary Search2110코테2110 [프로그래머스] 징검다리 건너기 문제 풀이에 이진 탐색을 떠올리는 것이 중요하다. 주어진 조건의 범위가 무지막지하게 클 경우 바로 의심을 해보자. 문제 또한 이 문제와 비슷한 조건과 풀이 형태를 가진다.... 프로그래머스이진탐색이진탐색 백준 - 숫자 카드 [10815] 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오. 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,0... 알고리즘Java정렬이진탐색Java [BOJ- JAVA] 10816 숫자 카드 2 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,00... 백준boj알고리즘코딩테스트이진탐색boj