백준 16401 과자 나눠주기 JAVA

sundays·2023년 3월 12일
0

문제

과자 나눠주기

풀이

최대로 나누어줄 수 있는 과자의 길이를 구하는 것이 목적이다
그러므로 가장 과자의 길이가 작은 것은 과자가 1인 경우이다 (문제에서 정해주었다)
과자의 길이가 가장 긴 경우는 배열로 과자의 길이를 주는데 통채로 가장 긴 과자를 주는 경우가 가장 긴 경우이다

		 int min = 1;
        int max = 0;
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
            max = Math.max(max, arr[i]);
        }

이분탐색으로 나누어줄수있는 길이만큼 비교를 해보고 m보다 작으면 더 작게 잘라줘야 하기 때문에 min의 값을 늘려주고, m보다 크거나 같으면 더 크게 잘라줘야 해서 max의 값을 줄여주면 된다

전체 코드

전체 코드

profile
develop life

0개의 댓글