해결된 질문
작성
·
41
0
문제에 대한 고민은 아니고 접근법에 대한 고민이 있습니다..
이진 탐색 문제를 풀 때 무지성으로
long long hi = 1e15로 최대한 크게 잡고 들어가는데 이 부분을 저격할 수 있는 문제가 있나요?
코딩테스트에서 위험한 생각인지 궁금해서 여쭤봅니다.
답변 2
0
안녕하세요 ㅎㅎ
먼저 해당 링크 확인부탁드립니다.
long long hi = 1e15
-> 여기에 대해 답변드리면요. ㅎㅎ
일단 long long의 최대값과 근접한 최대값으로 하셔야 합니다.
따라서 long long에서는 1e15보다는 1e18로 하시는게 좋습니다.
해당 부분은 교안 내의 다음 부분을 참고부탁드립니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. ri7116님.
이진 탐색 문제를 풀 때 hi
(상한값)를 너무 크게 설정하면 여러 문제를 야기할 수 있습니다. 상한값을 설정할 때는 문제의 요구사항과 입력값의 범위를 고려하는 것이 중요합니다. 다음 설명과 유사한 질문들에서 설명하는 내용을 참고하세요.
이진 탐색에서 상한값 설정의 중요성:
시간 초과 가능성: 이진 탐색의 범위가 지나치게 크다면 불필요한 반복 연산이 발생합니다. 이는 실질적으로 시간 복잡도를 증가시켜 시간 초과로 인한 실패를 가져올 수 있습니다.
오버플로우 문제: 설정한 상한값이 자료형의 최대값에 근접하거나 이를 초과할 경우 오버플로우가 발생할 수 있습니다. 이러한 경우, 잘못된 결과가 도출될 수 있으며 특히 long long
형으로도 커버할 수 없는 범위의 연산에 주의해야 합니다.
상한값 설정을 저격할 수 있는 문제:
여러 문제들이 이러한 불필요하게 큰 상한값 설정을 탐지하여 ‘틀렸습니다’로 처리할 수 있습니다. 특히, 가능한 최소/최대 값을 찾는 문제에서는 범위가 더 타이트하게 설정되어야 합니다.
유사한 맥락의 실습 질문들을 참고하세요:
이와 관련하여, 문제에 따라 상한값을 적절하게 설정하는 것은 아주 중요한 부분입니다. 각 문제의 조건을 잘 살피고 가능한 범위를 기반으로 적절한 최대값을 설정해 주시길 권장드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.