본문 바로가기

해삐챠의 알고리즘 공부

3. 병사관리

 

- 병사관리..

내일 문제 풀려면 미리 풀어놔야 하는데

집에 오느라 에너지를 너무 다 써버렸다..

내일 아침에 일찍 일어나서 해야지 ! ! 


이진 탐색

https://www.codetree.ai/missions/8/problems/find-number-fast?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

import java.util.Scanner;

public class Main {
    static int n, target, idx, left, right;
    static int[] nums;
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        n = s.nextInt();

        int m = s.nextInt();
        
        nums = new int[n];
        for (int i=0; i<n; i++){
            nums[i] = s.nextInt();
        }

        for (int i=0; i<m; i++) {
            target = s.nextInt();
            idx = -1;
            left = 0;
            right = n-1;

            binarySearch();
            System.out.println(idx);
        }
    }

    static void binarySearch() {
        while (left <= right) {
            int mid = (left + right) / 2;
            if (nums[mid] == target) {
                idx = mid + 1;
                return;
            }

            if (nums[mid] > target) {
                right = mid-1;
            } else {
                left = mid + 1;
            }
        }
        return;
    }
}

 

'해삐챠의 알고리즘 공부' 카테고리의 다른 글

(? 그냥 글  (0) 2024.11.17
6. 최소힙 최대힙  (0) 2024.11.16
4. 그래프/tree  (0) 2024.11.09
2. 연결리스트  (0) 2024.11.03
1. 비트마스킹  (2) 2024.11.03