1620번 - 나는야 포켓몬 마스터 이다솜
M의 입력이 숫자로 들어오는 경우와 문자열로 들어오는 경우 나눠서 생각했습니다
숫자로 들어오는 경우: string배열에서 인덱스 바로 탐색후 출력
문자로 들어오는 경우: 포켓몬 이름과 도감 순서를 같이 저장한 구조체 배열을 알파벳 오름차순으로 정렬하여 이분탐색후 출력
이분탐색을 적용하여 시간을 단축시켰다고 생각했는데 시간초과가 뜹니다
어디서 더 개선해야할까요?
이분 탐색이 잘못 작성되었습니다.
조언 감사드립니다.
이분탐색을 수정하여
end=mid-1
start=mid+1로 바꾸어 언급해주신 오류를 해결하였습니다만
계속 시간초과가 뜨네요.
예외처리를 덜해서 무한루프가 도는 것일까요?
아니면 제 이분탐색의 코드가 아직 탐색속도의 개선이 더 필요한 것일까요?
cin 과 cout 를 번갈아가며 사용하면 매번 무거운 연산인 buffer flush 가 발생합니다.
프로그램 시작할 때 cin.tie(nullptr); 를 사용해 보세요
cin.tie(nullptr);
댓글을 작성하려면 로그인해야 합니다.
compa513 4년 전
M의 입력이 숫자로 들어오는 경우와 문자열로 들어오는 경우 나눠서 생각했습니다
숫자로 들어오는 경우: string배열에서 인덱스 바로 탐색후 출력
문자로 들어오는 경우: 포켓몬 이름과 도감 순서를 같이 저장한 구조체 배열을 알파벳 오름차순으로 정렬하여 이분탐색후 출력
이분탐색을 적용하여 시간을 단축시켰다고 생각했는데 시간초과가 뜹니다
어디서 더 개선해야할까요?