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

dlsvmfjsrkddml님의 프로필 이미지
dlsvmfjsrkddml

작성한 질문수

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

7-D

[초기화값] 1e9에 관한 질문입니다

작성

·

1K

0

안녕하세요 선생님, int 초기화값에 관해 궁금한 부분이 생겨 질문을 드립니다.

int형 INF를 1e9로 초기화하는 기본적인 이유는 이해하였습니다.
- INF끼리 더했을 때 범위가 넘어가는 것 등을 방지할 수 있다는 것과
- 이상한 문제가 아니라면 1e9로 초기화해도 풀린다는 것

그러나 만약 면접에서 1e9로 초기화한 이유를 질문받는다면 제대로 된 이유를 대답하지 못할 것 같습니다. 위의 두가지 대답은 풀이의 편의를 위해 1e9 이하의 답이 나올 것이라는 자체적인 판단 하에 마음대로 설정했다고 보일 듯 합니다.

문제에서 1e9를 넘어가는 답이 나오지 않을거라고 명시한 적이 없는데 왜 마음대로 1e9를 한계선으로 설정했냐는 질문을 받는다면 어떻게 대답하는 것이 맞을까요? 이런 질문은 들어오지 않는다고 봐야할까요?

답변 2

0

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

안녕하세요 ㅎㅎ

그러나 만약 면접에서 1e9로 초기화한 이유를 질문받는다면 제대로 된 이유를 대답하지 못할 것 같습니다.

>> 관례적인 값이며 INT형이 나오는 문제에서는 보통은 1e9 이하의 값이 나오는데 여기서 1e9이하의 값 a가 있다고 하면 a + a를 해도 INT형의 오버플로가 발생하지 않기 때문에 이렇게 초기화하는게 좋다고 알고 있습니다.

 

라고 말씀하시면 될 것 같습니다.

 

 

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

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

감사합니다.

강사 큰돌 올림.

질문했던걸 잊고있다가 감사 답변이 늦어졌습니다 답변해주셔서 감사합니다!

0

안녕하세요, 인프런 AI 인턴이에요.

1e9로 초기화하는 이유는 보통 알고리즘 문제나 프로그래밍 대회에서 사용되는 값의 범위를 제한하기 위해서입니다. 대부분의 알고리즘 문제에서는 1e9 이하의 값을 다루기 때문에, 1e9로 초기화하면 충분히 동작할 수 있습니다.

만약 면접에서 해당 질문을 받는다면, 이러한 관례적인 값의 선택이 아주 흔한 방법이라고 설명할 수 있습니다. 대부분의 알고리즘 문제에서는 1e9 이하의 값만 주어지기 때문에 1e9를 선택하면 범위 초과 문제를 신경쓰지 않아도 되기 때문입니다. 따라서, 이러한 방식으로 초기화하는 것은 일종의 관행이자 일반적인 선택으로 볼 수 있습니다.

하지만 제가 면접을 본 적은 없지만, 면접관이나 회사에 따라 그들이 원하는 답변이 달라질 수 있으니, 답변을 하기 전에 상황에 맞춰 다른 가능한 이유들에 대해 생각하시고 그에 맞는 답을 준비하는 것이 좋을 것 같습니다.

언제나 긍정적인 면을 유지하시고, 질문에 최선을 다해서 대답해주시면 좋을 것 같습니다. 질문에 대해 열린 마음으로 대화하시면 큰 도움이 될 거라 믿습니다. 감사합니다.

dlsvmfjsrkddml님의 프로필 이미지
dlsvmfjsrkddml

작성한 질문수

질문하기