wooooooogi   3년 전

안녕하세요. 20495번 이분탐색 관련 질문입니다.

제가 문제를 푼 방법은 다음과 같습니다.

10 20

이라면 -10과 30을 배열에 각각 저장합니다. -10을 저장하는 배열을 A, 30을 저장하는 배열을 B라고 할 때, 

A의 원소들이 B에서 몇등인지 검사해 그 인덱스를 기반으로 순서를 출력합니다.

매번 수행마다 sorting을 해주어 시간이 너무 많이 걸려 계속 실패합니다. 다른 방법이 있을까요?

감사합니다.

happiness96   3년 전

매번 sorting할 필요가 없습니다.

wooooooogi   3년 전

@happiness96 답변 감사합니다. 매번 soring을 하지 않으면, 

가령 예제 입력에서는 다음과 같은 문제가 발생합니다. 

3

10 20

40 15

70 15

이것은 

A에 [-10, 25, 55], B에 [30, 55, 85]가 저장되는데, -10을 B에 추가하면, [30, 55, 85, -10]이기 때문에 이분 탐색으로 인덱스 탐색이 불가능합니다.

제가 틀렸다면 알려주시기 바랍니다. 감사합니다.

wooooooogi   3년 전

자고 일어나니

예를들어 위 댓글에서 30을 [10 40 50 80]안에서 찾는다면, 10보다 크고 40보다 작다는 것으로 하나의 변수를 이용해 탐색하면 될 거 같습니다. 추후 완성하고 코드 올리겠습니다.

wooooooogi   3년 전

코드 완성했습니다. 제출했으니, 관심 있으신 분들은 20495에서 확인하시면 됩니다. 

다들 건강하세요. 

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