compa513   4년 전

M의 입력이 숫자로 들어오는 경우와 문자열로 들어오는 경우 나눠서 생각했습니다

숫자로 들어오는 경우: string배열에서 인덱스 바로 탐색후 출력

문자로 들어오는 경우: 포켓몬 이름과 도감 순서를 같이 저장한 구조체 배열을 알파벳 오름차순으로 정렬하여 이분탐색후 출력

이분탐색을 적용하여 시간을 단축시켰다고 생각했는데 시간초과가 뜹니다

어디서 더 개선해야할까요?

bupjae   4년 전

이분 탐색이 잘못 작성되었습니다.

compa513   4년 전

조언 감사드립니다. 

이분탐색을 수정하여

end=mid-1

start=mid+1로 바꾸어 언급해주신 오류를 해결하였습니다만

계속 시간초과가 뜨네요.

예외처리를 덜해서 무한루프가 도는 것일까요? 

아니면 제 이분탐색의 코드가 아직 탐색속도의 개선이 더 필요한 것일까요?

bupjae   4년 전

cin 과 cout 를 번갈아가며 사용하면 매번 무거운 연산인 buffer flush 가 발생합니다.

프로그램 시작할 때 cin.tie(nullptr); 를 사용해 보세요

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