강의로 돌아가기
서혁호

java 테스트 케이스 6번

대각선이 왼쪽 아래에서 오른쪽 위로 올라간다고 생각하고
대각선 밑에 있는 정사각형의 개수를 세고 2를 곱해주는 방법으로 풀어봤는데

6번에서 안되네요 어떻게 해야 할까요

작성중인 코드―Solution.java
1
2
3
4
5
6
7
8
9
10
class Solution {
    public long solution(int w,int h) {
        long answer = 0;
        for(int i = 1; i < w; i++) {
            answer += (long)Math.floor((double)h/w*i);
            // System.out.print(answer + " ");
        }
        return answer * 2;
    }
}
1 개의 답변
최유철

answer += (long)Math.floor((double)h/wi);
이부분에서 w
i의 결과가 int 용량을 초과하는 경우의 수가 있어서 문제가 발생하는거 같습니다.
(long)w*i 로 바꿔서 해보시길 바랍니다

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