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

dlsvmfjsrkddml님의 프로필 이미지
dlsvmfjsrkddml

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

6-F

[6-F] 질문입니다

작성

·

261

0

안녕하세요 선생님, 최댓값 초기화에 관한 질문을 드립니다.

다른 문제에서는 long long의 큰 값 초기화를 1e18로 했었는데 이번 문제에서는 1e18 + 4인 이유가 궁금합니다.

  • 더해주는 숫자의 값은 크게 중요하진 않고 +1 ~ +4 모두 값을 보정해준다는 면에서 같은 의미를 가지는 것인가요?

     

  • 단순히 1e18로 초기화할 경우 미세하게 숫자가 부족하여 틀리는 경우가 있으므로 작은 값을 필수적으로 더해주어야 한다고 이해해도 괜찮을까요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

다른 문제에서는 long long의 큰 값 초기화를 1e18로 했었는데 이번 문제에서는 1e18 + 4인 이유가 궁금합니다.

>> 1e18이라고 해도 됩니다. / 저게 최댓값 + 적당한 수 습관이 들어간 코드라고 보시면 됩니다. 최댓값 설정할 때는 굳이 안더해도 됩니다.

  • 더해주는 숫자의 값은 크게 중요하진 않고 +1 ~ +4 모두 값을 보정해준다는 면에서 같은 의미를 가지는 것인가요?

>> 네 10을 더해도 됩니다.

 

  • 단순히 1e18로 초기화할 경우 미세하게 숫자가 부족하여 틀리는 경우가 있으므로 작은 값을 필수적으로 더해주어야 한다고 이해해도 괜찮을까요?

>> 음.. 최댓값 설정할 때는 굳이 더할 필요는 없습니다. 배열의 범위값으로도 쓰이지 않아서요.

1e18로 맞은 코드.

http://boj.kr/4ce95afb87664b8186fae0cf8a56ad84

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

감사합니다!

dlsvmfjsrkddml님의 프로필 이미지
dlsvmfjsrkddml

작성한 질문수

질문하기