인프런 커뮤니티 질문&답변

김김님의 프로필 이미지
김김

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

6. 최대점수 구하기(냅색알고리즘)

Arrays.fill에 Integer.MAX_VALUE로 하면 안되는 거 아닌가용 ..? (10-5 동전 교환 문제)

작성

·

382

·

수정됨

0

3
2 3 4
15

 

라고 했을 때 답이 4가 나와야 되는데

Integer.MAX_VALUE로 했을 때는 -2147483645가 나오더라구여 .. 문제랑 채점 사이트에 있는 예제 6개에서 모두 동전 종류에 1이 있어서 오류가 안 뜬 거 같은데

동전 종류에 1이 없을 경우 위 예시와 같이 문제가 생길수도 있는거 아닌가용 ..?

 

Integer.MAX_VALUE가 아니라 M 같은 수로 채워야되는 게 아닌가 궁금합니닷

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 맞습니다. Integer.MAX_VALUE + 1 값이 회전을 해서 음수 -2147483648로 계산되어 버리는 효과때문에 그렇게 되는 것을 놓쳤네요. M값으로 초기화 하는게 제일 좋은 것 같습니다.

 

김김님의 프로필 이미지
김김

작성한 질문수

질문하기