rhdtka21   4년 전

질문하기 내용들을 쭉 보니

내장 sort를 사용하고 binarysearch를 구현해서 탐색하면 통과되는거 같은데...

저는 계속 시간 초과가 나오네요

jsy8481   4년 전

binary search 는 잘 작동할 거 같긴한데요( 제가 봤을 때는 그런거 같아요 코딩 고수님들 한 번더 봐주세요)

제 생각에는 시간 초과가 나는 이유가 배열 연산 때문인거 같아요

보통 binary search를 구현할 때는 배열의 인덱스만 조작해서 하는데, 위 코드에는 배열을 계속 자르는 연산이 되어서 조금 느려질 거 같습니닷! 

python에서 제가 알기로는 [:]연산을 하면 배열을 복사하는 것처럼 되니까요? 한 번 인덱스를 이용해서 만들어 보시는 것도 좋을 거 같아요

그리고 중간에 if (size == 1 and A[0] == X): 는 없어도 코드가 진행될 거 같아요

size가 1이면 mid가 0이 되고 만약 A[mid]가 x와 동일하다면 제일 아래에 else문이 실행될 거 같아서요

도움이 됬으면 좋겠습니다.

rhdtka21   4년 전

아 슬라이싱이 문제였네요 감사합니다 인덱스 사용해서 하니까 되네요... 파이썬이라 인덱스 쓰는거 말고 슬라이싱이 더 쉬울꺼 같아서 했는데... ㅎㅎ


댓글을 작성하려면 로그인해야 합니다.