본문 바로가기

알고리즘/BAEKJOON

2417 정수 제곱근_Binary Search

2417번: 정수 제곱근 (acmicpc.net)

 

2417번: 정수 제곱근

정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오.

www.acmicpc.net

package Binary_Search;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Baekjoon_2417_정수제곱근 {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		long n = Long.parseLong(br.readLine());
		long left = 0, right = n;
		long min = Long.MAX_VALUE;
		
		while(left <= right) {
			long mid = (left + right) / 2;
			long value = (long)Math.pow(mid, 2);
			
			if(value >= 0) {
				
				if(value >= n) {
					min = Math.min(min, mid);
					right = mid - 1;
				}
				else 
					left = mid + 1;
				
			}
		}
		System.out.println(min);

	}

}

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

2839 설탕배달  (0) 2021.07.17
10815 숫자 카드_Binary Search  (0) 2021.07.13
19598 최소 회의실 개수  (0) 2021.07.11
19638 센티와 마법의 뿅망치_Heap  (0) 2021.07.09
11279 최대 힙_Heap  (0) 2021.07.08