정수 오버플로우1 (a+b)/2 과 a+(b-a)/2 의 차이 (feat. Integer Overflow, Leetcode 374) (a+b)/2 과 a+(b-a)/2의 결과값은 같다.하지만 전자는 일시적으로 데이터 타입의 허용범위를 넘길 수 있다. 겪은 문제코딩테스트 중 입력받은 int n 값이 int의 최대허용범위 근처의 큰 수일때만 통과하지 못 했다. int 타입의 start, end 변수 두 개가 있다.경우에 따라 start의 값을 mid+1로 변경하는 분기가 존재한다. 첫번째 시행n의 값이 int 타입의 최대 허용범위에 근접해있고, 약 2억이라 표현해본다.start=1, end=2억 인 셈이다. 이 때의 mid 값을 구하기 위한 start+end값은 약 2억으로 허용범위를 초과하지 않는다.start=1억 정도의 값으로 변경되며 시행 마무리두번째 시행int mid 값을 연산하기 위해 end+start의 값을 구할때, 2억+.. 2024. 8. 30. 이전 1 다음