알고리즘

이진탐색

 

sort된 배열 에서 특정 값(target)을 찾기 위해 주여진 숫자 중 가운데 수 기준으로

target이 작을경우 좌측으로 , 클경우 우측으로 한개씩 targer을 찾을 때 까지 검색한다!


sort사용법!

int[] arry = {45,12,3,94};

Arrays.sort(arry); 후에 for문으로 뽑아주면

3,12,45,94 이렇게 순서대로 나온다, 한글이나, 알파벳도 마찬가지!


이진탐색 사용법 예제

 

int[] arry={28,15,4,30,1};
Arry.sort(arry); // -> {1,4,15,28,30}

int low=0;
int mid;
int higth=arry.length-1;
while(low<=higth){
	mid=(low+higth)/2;  //->0+4/2
	
    if(arry[mid]==tartget){
	return arry[mid];
	}else if(arry[mid]>targrt){
		higth=mid-1;
	}else{
		higth=mid+1;
	}
    return -1;
}

 

 

 

 

 

'알고리즘' 카테고리의 다른 글

10월 11일 2문제 - Java  (0) 2021.10.12
[프로그래머스] 하샤드 수  (0) 2021.05.11
[프로그래머스] 핸드폰 번호 가리기  (0) 2021.05.10
[Java] 백준 5585 : 거스름돈  (1) 2020.05.20
[Java] 백준 1931 : 회의실배정  (0) 2020.05.15