chltmdals111   1년 전

2%에서 틀렸습니다. 출력됩니다.

범위 때문인가 싶어 long 으로 변경하고, 엘(l)도 다 붙여보고, ++도 += 1로 변경해보고...

최대값 이슈인가 싶어 value <= 1000000000 조건도 추가했는데도

반례를 못찾겠어요.

dldyddlwl   1년 전

if (value >= a && value <= b && value <= 1000000000) {

answer += 1;

q.add((value * 10l) + 4l);

q.add((value * 10l) + 7l);

}

이 조건에서, value가 a와 b사이이며, 최댓값 이하일때만 들어갈 수 있습니다.

그렇다면, 애초에 a와 b가 큰 수 라면,

처음 큐에 4와 7이 들어갔으므로, 이 조건에 해당하지 못해서, q에 다음의 해당값들을 넣을 기회조차 없게 됩니다.

chltmdals111   1년 전

친절한 설명 감사드립니다!

댓글을 작성하려면 로그인해야 합니다.