해결된 질문
작성
·
33
답변 2
1
안녕하세요^^
lt <= rt로 조건을 거는 경우는 lt와 rt값이 같아지는 마지막 남은 한 개의 자료까지 탐색을 해야 할 때입니다. 이분탐색의 경우 거의 lt <= rt 입니다.
lt < rt는 문제를 푸는데 lt와 rt가 같아지는 경우가 존재하지 않을 때 사용하는데 이분탐색에서는 거의 이런 경우는 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 정확히 맞는 답변을 제공해 드릴 정보가 제공된 정보 내에 없습니다. 그러나 프로그래밍과 관련된 일반적인 지식을 바탕으로 도움을 드리고자 합니다.
이분 탐색에서 lt < rt
와 lt <= rt
를 사용하는 조건은 주로 탐색하고자 하는 조건이나 목적에 따라 달라집니다.
lt < rt
: 이 조건은 lt
가 rt
보다 작을 때까지만 반복하므로, 탐색 범위가 결국 1개의 포인트로 좁혀지지 않습니다. 즉, 이 조건을 사용하면 rt
에 해당하는 원소는 검사 대상에서 제외될 수 있습니다. 주로 찾고자 하는 값이 범위 내에 없을 때 경계값으로 처리할 때 유용합니다.
lt <= rt
: 이 조건은 lt
가 rt
보다 작거나 같을 때까지 반복합니다. 즉, lt
와 rt
가 같은 경우에도 반복문이 한 번 더 실행됩니다. 이로 인해 탐색 범위가 정확히 1개의 포인트로 좁혀지게 되며, lt
와 rt
가 가리키는 마지막 원소까지도 탐색 대상에 포함됩니다. 정확한 값을 찾거나, 최종적으로 lt
나 rt
가 가리키는 위치를 결과로 사용해야 할 때 유용합니다.
따라서 두 조건 중 어느 것을 사용할지는 구현하려는 알고리즘의 목적과, 탐색 후 어떤 처리를 해야 하는지에 따라 결정하게 됩니다.
각 상황에 따른 사용 예를 고려하면서 적절한 조건을 선택하는 것이 중요합니다.
감사합니다 🙂 !!