ashi3914   2년 전

아래 코드에서 정답을 right로 하면 정답이 뜨고

result로 정답을 제출하면 오답이 뜹니다.



ans==n일 경우중에 가장큰 mid를 result에 넣는 것인데 왜 오답이 뜨나요??

right를 출력할때와 result를 출력할때 차이점을 모르겠습니다. ㅠㅠ

와주세요



djm03178   2년 전

ans==n이 절대 실행되지 않을 수 있기 때문입니다. 1 차이를 경계로 한 쪽에서는 n보다 작고, 한 쪽에서는 n보다 크게 나올 수 있습니다.

ashi3914   2년 전

쉽게 말해서 ans가 n-1, n+1만 나오고 n이 안될수 있다는 말씀이신거죠??


러면 정답이 없는것 아닌가요?? n개의 랜선을 만드는경우가 정답이니까 ans==n이 없는 경우는 정답이 0아닌가요?


djm03178   2년 전

"정확히" n개라고 하지 않았기 때문에, n개를 얻을 수 있다면 되는 것으로 보셔야 합니다. 즉, n+3개를 얻었다면 여기서 3개는 그냥 버리면 되는 거죠.

ashi3914   2년 전

아.... 문제이해가 안된상태에서 코딩을 하니까 오답이 나는군요



ㅈ저는 무조건 n를 맞추는 값중에 최대값이라고 이해했거든요 ans가 n개이상일때 최대값을 구하는게 문제였군요  감사합니다. 이제 이해가 되네요

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