이진탐색
-
백준 2805 / 나무 자르기코딩 테스트 2022. 12. 10. 21:28
https://www.acmicpc.net/problem/2805 이 설명을 보고 푸는 것이 도움이 될 것 같다. https://sarah950716.tistory.com/16 def solution(n, m, trees): def cut(mid): cut_trees = 0 for tree in trees: if (temp := tree - mid) > 0: cut_trees += temp return cut_trees def solve(): answer, left, right = 0, 0, max(trees) while left
-
선입 선출 스케줄링코딩 테스트/Level 3 2022. 9. 4. 10:29
https://school.programmers.co.kr/learn/courses/30/lessons/12920 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 무지성 코딩. def solution(n, cores): board = [0 for _ in cores] while True: for i, v in enumerate(cores): if board[i] == 0: n -= 1 board[i] = v if n == 0: return i + 1 for i in range(len(cores)): board[i] -= 1 이분(이진) 탐색 파라메트..
-
금과 은 운반하기코딩 테스트/Level 3 2021. 10. 8. 12:28
https://programmers.co.kr/learn/courses/30/lessons/86053 코딩테스트 연습 - 금과 은 운반하기 어느 왕국에 하나 이상의 도시들이 있습니다. 왕국의 왕은 새 도시를 짓기로 결정하였습니다. 해당 도시를 짓기 위해서는 도시를 짓는 장소에 금 a kg과 은 b kg이 전달되어야 합니다. 각 도시에는 programmers.co.kr 블로그에서 다룬 적 있다. https://comdoc.tistory.com/entry/32-%EC%9D%B4%EC%A7%84-%EA%B2%80%EC%83%89Binary-Search = n_gold and silver >= n_silver and total >= n_gold + n_silver end = answer = 10 ** 15 st..
-
징검다리 건너기코딩 테스트/Level 3 2020. 10. 8. 22:50
징검다리 건너기 2019 카카오 개발자 겨울 인턴십 1188명 완료 https://programmers.co.kr/learn/courses/30/lessons/64062 이진탐색 문제 https://comdoc.tistory.com/entry/32-%EC%9D%B4%EC%A7%84-%EA%B2%80%EC%83%89Binary-Search def solution(stones, k): def cross(num): jump = 0 for stone in stones: if stone > num: jump = 0 else: jump += 1 if jump == k: return False return True answer, left, right = 0, 1, max(stones) while left
-
입국심사코딩 테스트/Level 3 2020. 9. 26. 14:28
https://programmers.co.kr/learn/courses/30/lessons/43238 입국심사 이분탐색 1833명 완료 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr 이분(이진)탐색은 최대값, 최소값, 중간값을 두고.. 찾는 값이 중간값보다 낮으면 최대값을 '중간값-1'으로 낮추고 찾는 값이 중간값보다 높으면 최소값을 '중간값+1'으로 올려주면서 숫자를 찾아가는 방식이다. 예전에 블로그에 정리한 적 있다. https://comdoc.tistory.com/entry/32-%EC%9D%B4%E..
-
(파이썬) 예산Python/파이썬 자료구조 알고리듬 2019. 9. 27. 08:24
이분 탐색법 https://programmers.co.kr/learn/courses/30/lessons/43237 문제 설명 국가의 역할 중 하나는 여러 지방의 예산 요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총예산을 다음과 같은 방법으로 배정합니다. 1. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정합니다. 2. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산 요청에는 모두 상한액을 배정합니다. 상한액 이하의 예산요청에 대해서는 요청한 금액을 그대로 배정합니다. 예를 들어, 전체 국가예산이 485이고 4개 ..
-
32. 이진 검색(Binary Search), 파이썬Python/파이썬 자료구조 알고리듬 2019. 6. 26. 19:07
정렬된 데이터에서 검색할 때는 이진(이분) 검색이 더 효율적입니다. 친구가 1부터 100까지 숫자 중 하나를 고르고, 나는 그 숫자를 맞추는 게임을 한다고 가정합니다. 친구는 "고른 숫자가 내가 제시한 숫자보다 크다, 작다, 맞다."를 대답해 줘야 합니다. 이때 가장 빨리 정답을 찾는 법은 절반인 50을 제시하는 것입니다. 여기서 친구가 작다고 하면 25를 불러보고... 한번 검색할 때마다 절반이 날아갑니다. 엄청난 효율이죠. 실제로 32라는 숫자를 찾아보겠습니다. 1. 50? 작아 2. 25? 커 3. 37? 작아 4. 31? 커 5. 34? 작아 6. 32? 정답 6번 만에 찾을 수 있습니다. from random import randint print("Guess the number!") secret..