728x90
728x90
[알고리즘] Upper Bound, Lower Bound
CS/알고리즘2023. 6. 22. 09:12[알고리즘] Upper Bound, Lower Bound

서론 Upper Bound, Lower Bound는 이진탐색을 활용한 알고리즘이다. [알고리즘] 이진탐색(이분탐색) - Binary Search Binary Search 정렬된 데이터 집합을 이분화 하면서 탐색하는 방법 정렬되어 있어야 한다 보통 세 개의 변수를 지정해 두고 (ex : left, mid, right) 찾고자 하는 값, 즉 mid의 값이 찾아낸 값보다 크면 mid는 mag1c.tistory.com 백준에서 이진탐색을 활용한 문제를 풀다가, 깔끔하게 풀리지 않아서 풀고 난 뒤 다른 분들의 코드나 설명을 참조했더니, 내가 사용했던 조건들이 Upper Bound라는 것을 알게되었고, 정리하고자 포스팅을 진행한다. [백준 1654번 / JAVA] 랜선 자르기 문제 링크 https://www.acm..

[백준 1920번 / JAVA] 수 찾기
코딩테스트/백준2023. 6. 21. 10:23[백준 1920번 / JAVA] 수 찾기

문제 링크 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 서론 지조있게(?) 프로그래머스 업로드를 기다리다가 드디어 포기하고 백준에 입문하게 되었다. 찾아보니 작년 12월에 풀었던 이력이 있었으며, 그 때는 백준에서의 테스트 포맷이 프로그래머스와 너무 달라 입출력에 난항을 겪어 후퇴했던 기억이 있다. 하지만 leetcode와 hackerrank로 단련된 지금, 백준을 통해 꾸준히 문제를 풀어 나..

[Java] Climbing the Leardboard - HackerRank BinarySearch
코딩테스트/HackerRank2023. 6. 4. 11:27[Java] Climbing the Leardboard - HackerRank BinarySearch

문제 링크 Climbing the Leaderboard | HackerRank Help Alice track her progress toward the top of the leaderboard! www.hackerrank.com 요약 ranked와 player배열이 있는데, ranked 배열은 기존의 리더보드, player배열은 플레이어의 점수. 리더보드의 랭킹과 player를 비교해서 player의 랭킹을 출력하는 문제. ranked는 내림차순 정렬, player는 오름차순 정렬로 주어짐 풀이 문제 조건에서, player와 ranked의 길이가 2x10^5까지로 주어졌고, 겹치는 숫자가 존재할 수 있기 때문에 ranked를 HashSet으로 중복 제거 및 재정렬 해주었다. 그런 다음 그냥 binary ..

입국심사 - 프로그래머스 LV3 JAVA
코딩테스트/프로그래머스2022. 12. 17. 13:09입국심사 - 프로그래머스 LV3 JAVA

문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항 입국심사..

728x90
728x90
image