본문 바로가기
728x90
반응형

이진 탐색7

[Baekjoon] 2110 공유기 설치(자바스크립트/NodeJs) 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 👨‍💻 문제 도현이의 집 N개가 수직선 위에 있다. 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다. 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다. 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 사이의 거리를 가능한 크게 하여 설치하려고 한다. C개의 공유기를 N개의 집에 적당히 설치해서, 가.. 2023. 1. 30.
[이코테] 이진 탐색_고정점 찾기(자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 👨‍💻 문제 정답 코드 문제 풀이 문제에서 요구하는 시간 복잡도는 O(logN)이므로 선형 탐색으로는 풀 수 없다. 이미 정렬된 배열이 주어지므로 이진 탐색을 통해 해결할 수 있다. 찾고자 하는 값과 중간점(mid)이 동일하다 가정하고 탐색을 수행한다. 탐색을 수행하다 중간점에 있는 값(arr[mid])보다 .. 2023. 1. 29.
[이코테] 이진 탐색_정렬된 배열에서 특정 수의 개수 구하기(자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 👨‍💻 문제 정답 코드 문제 풀이 문제에서 요구하는 시간 복잡도는 O(logN)이므로 선형 탐색으로 문제를 해결할 수 없다. 따라서 이진 탐색을 통해 문제를 풀어야 한다. 배열은 정렬된 채로 주어지기 때문에 수열 내에 x가 존재한다면 연속해서 나열되어 있음을 예상할 수 있다. 따라서 x가 처음 등장하는 인덱스.. 2023. 1. 29.
[이코테] 이진 탐색_떡볶이 떡 만들기(자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 👨‍💻 문제 정답 코드 문제 풀이 이진 탐색으로 풀 수 있는 문제다. 먼저 시작점(start)과 끝점(end)을 설정한다. 그런 다음 시작점이 끝점보다 커질 때까지 반복문을 돌면서 중간값(mid)을 도출하고, 주어진 떡의 길이를 탐색하며 중간값보다 큰 값이라면 해당 값에서 중간값을 뺀 값을 총합에 누적한다. .. 2023. 1. 28.
[이코테] 이진 탐색_부품 찾기(자바스크립트) 이번 글은 '이것이 취업을 위한 코딩테스트다' 내의 문제를 풀고 정답 코드를 정리한 것입니다. 이것이 취업을 위한 코딩 테스트다 with 파이썬 | 나동빈 - 교보문고 이것이 취업을 위한 코딩 테스트다 with 파이썬 | IT 취준생이라면 누구나 입사하고 싶은 카카오ㆍ삼성전자ㆍ네이버ㆍ라인! 취업의 성공 열쇠는 알고리즘 인터뷰에 있다!IT 취준생이라면 누구나 product.kyobobook.co.kr 👨‍💻 문제 정답 코드 답안 1(이진 탐색) 답안 2(계수 정렬) 답안 3(includes 메서드) 정답 풀이 다양한 방법으로 풀 수 있는 문제이다. 풀이 방법이 어찌됐든 손님이 요구하는 부품이 가게의 부품에 포함되어 있다면 yes, 아니라면 no를 출력하면 된다. 이진 탐색으로 풀려면 배열을 정렬해야 한다는.. 2023. 1. 28.
이진 탐색 트리(Binary Search Trees) References 아래 링크의 강의 중 Section 27. My Best Friend, Binary Search Trees의 내용을 추려 이번 글을 작성하였습니다. The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy Binary Search Trees class Node { constructor(data) { this.data = data; this.left = null; this.right = null; } insert(data) { // 입력값 data가 this.data보다 작고 this.left에 값이 이미 할당되어 있다면 this.left에 입력값 data을 넣고, this.left가 없는데 입력값 data가 this.d.. 2022. 4. 6.
이진 탐색(Binary Search) references 이번 글은 다음 자료들을 참고하여 작성하였습니다. Binary search on Khan Academy Implementing binary search of an array on Khan Academy Running time of binary search on Khan Academy What is an algorithm and why should you care? 우리는 살아가면서 수많은 문제를 맞닥뜨린다. 저녁 메뉴 고르기 같은 간단한 문제부터 부동산 계약이나 기업의 운명을 결정 짓는 중차대한 의사결정에 이르기까지 인생은 그야말로 문제해결의 연속이라고 볼 수 있다. algorithm이란 이러한 문제를 해결하기 위한 절차들의 집합이다. computer programming에서는 주로 .. 2022. 4. 4.
728x90
반응형