강의로 돌아가기
심승현

return 형이 int면 안되지 않나요..?

극단적인 예로 solution(1000000000,new int[] {1000000000}); 가 들어가게된다면.. int는 엄두도 못낼탠데...
제가 생각하지 못하는 부분이 어디일까요..?

작성중인 코드―Solution.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Arrays;
class Solution {
    public int solution(int n, int[] times) {
        long answer = 0;
        Arrays.sort(times);
        long start = 0;
        long end = times[times.length - 1]*n;

        while(start <= end) {
            long mid = (end + start) / 2;
            long sum = 0;
            for(int k : times) {
                if(k > mid)
                    break;
                sum += mid / k;
            }

            if( sum >= n) {
                end = mid -1;
                answer = mid;
            }
            else if( sum <n) {
                start = mid +1;
            }

        }
        System.out.println(answer);
        return (int)answer;
    }   
}
  • 원찬희
    long 써도 안되고 Long으로 하니까 되긴 되네요. 그래도 테스트 케이스 1개가 계속 틀리네요. 원찬희 2018.12.08 17:54
1 개의 답변
Demi

안녕하세요.
일부 언어에 초기코드가 int 타입 값을 리턴하도록 설정되어있었습니다.
현재는 초기코드에서 long long 타입 값을 리턴하도록 수정하였습니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.