djgjdgjd   6년 전

solve 함수에 주석친 부분 이해가 안됩니다.. 그리고 main 함수에서 왜 end를 k로 설정하는지 모르겠습니다..

왜 저렇게 하는건지 알려주실분!!

pch6789   3년 전

2년이나 된 글이지만 혹시 아직 궁금해하시거나 다른 분들이 의문을 가지고 있을까해 답변을 남깁니다.

  1. solve함수에서 주석을 한 부분의 경우를 먼저 설명해드리도록 하겠습니다.

    간단히 말씀드리면 이차원 배열 A의 값들을 행별로 비교했을때 mid보다 작은값이 몇개가 있는지 알기 위해하는 작업입니다.
    이를 위해 mid와 A의 i행에 있는 값들을 전부 i로 나누어줍니다.(양변을 같은값으로 나누어주는 행위)
    인덱스 i로 A의 i행의값들을 나눌경우 모두 1, 2, 3, ... , n의 형태가 되기에
    이후 n과 mid/i의 값을 비교하므로 행별로 mid보다 작거나 같은 값의 개수를 쉽게 찾아낼 수 있습니다.
  2. 두번째로, end를 k로 설정하는 이유는

    k번째 수는 절대 k를 넘을 수 없기 때문입니다.
    end의 값을 n^2으로 두어도 시간초과는 나지 않지만
    굳이 필요없는 연산을 해줄 필요가 없기에 k로 설정하는것으로 보입니다.

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