반응형
dackyy
대기의 연대기
dackyy
전체 방문자
오늘
어제
  • 분류 전체보기 (49)
    • java (7)
    • 코딩테스트 (23)
    • python (10)
    • Network (2)
    • Web (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 시프트 연산자
  • 연산
  • java
  • 논리 연산자
  • 기본 자료형
  • 산술 연산자
  • 배열생성
  • switch
  • TLS
  • 배열
  • 자료형
  • SSL
  • 참조 자료형
  • https
  • 비트 연산자
  • 반복문
  • 제어문
  • 증감 연산자
  • 조건문
  • 비교 연산자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dackyy

대기의 연대기

코딩테스트

[JAVA] 이진탐색 재귀함수 구현

2022. 7. 13. 16:18
반응형
package Day1;

import java.util.Scanner;

public class BinarySearchRecur {
    static int[] arr;
    static int BinarySearch(int key, int pl,int pr){
        do {
            int pc = (pl + pr) / 2;
            if(pl>arr.length || pr<arr.length)
                return -1;
            if (arr[pc] == key) {
                return pc;
            } else if (arr[pc] < key) {
                return BinarySearch(key,pc +1, pr);
            } else
                return BinarySearch(key, pl, pc-1);
        }while(pl <= pr);
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter the size of array: ");
        int size = sc.nextInt();
        arr = new int[size];
        System.out.println("오름차순으로 입력해주세요");
        System.out.print("arr[0]=");
        arr[0] = sc.nextInt();

        for (int i = 1; i < size; i++) {
            do {
                System.out.print("arr[" + i + "]=");
                arr[i] = sc.nextInt();
            }while(arr[i] < arr[i-1]);
        }
        System.out.print("검색할 값을 입력하세요 :");
        int idx =BinarySearch(sc.nextInt(), 0, arr.length-1);
        if(idx < 0)
            System.out.println("찾는 값이 없습니다");
        else
            System.out.print("찾는 값의 인덱스는 : "+idx);
    }
}
반응형

'코딩테스트' 카테고리의 다른 글

[JAVA] 후위연산자를 이용한 + - 연산 ( 제네릭 X)  (0) 2022.07.14
[JAVA] 팩토리얼 재귀함수  (0) 2022.07.13
[JAVA] 정수 받아 작은값부터 출력하기 (순열)  (0) 2022.07.11
[JAVA] baby-gin  (0) 2022.07.11
[JAVA] 정돈된 수 출력  (0) 2022.07.11
    '코딩테스트' 카테고리의 다른 글
    • [JAVA] 후위연산자를 이용한 + - 연산 ( 제네릭 X)
    • [JAVA] 팩토리얼 재귀함수
    • [JAVA] 정수 받아 작은값부터 출력하기 (순열)
    • [JAVA] baby-gin
    dackyy
    dackyy

    티스토리툴바