백준 2467 용액 JAVA

sundays·2023년 5월 26일
0

문제

용액

풀이

문제가 너무 낮설지 않았는데 이전에 풀었던 문제이다.
근데 다시 푸니까 min, max 부터 잘못 잡아서 다시 풀어도 새로웠다

// 인덱스를 찾기위해
int min = 0, max = n - 1, hap = 0;

// 두개의 숫자를 저장할 베열
int[] answer = new int[2];
while (min < max) {
	int mid = Math.abs(arr[min] + arr[max]);
    
    // 차이가 더 적으면
    if (mid < hap) {
    	// 두개의 숫자를 재정의 해준다
    	hap = mid;
        answer[0] = arr[min];
        answer[1] = arr[max];
        // 0 이 되면 종료한다
        if (hap == 0) {
        	break;
        }
    }
    
    // 더한 값이 너무 작으면 최소값을 늘려줌
    if (arr[min] + arr[max] < 0) {
    	min += 1;
    } else {
    	max -= 1;
    }
}

이분탐색도 풀때마다 왜이렇게 새로운지 모르겠땁 -.-;;

전체 코드

전체 코드

profile
develop life

0개의 댓글

관련 채용 정보