hesue615   4년 전

비트마스크를 활용하여 문제를 풀었습니다.

도저히 문제를 찾지 못해 이렇게 글 남깁니다.

고수님들의 도움이 필요합니다.

kimcoding   4년 전

THRESHOLD는 promising.size()를 저장했는데 18번째 줄을 보면 idx > THRESHOLD이라 idx == THRESHOLD일때 밑에 promising[idx]를 처리할때 배열 인덱스를 벗어나게 됩니다.

hesue615   4년 전

고수님께서 알려주신대로 인덱스 범위 밖으로 벗어나지 않도록 수정하였습니다.

혹시 다른 로직적인 문제는 없나요?

kimcoding   4년 전

promising의 단어들을 모두 배울 경우를 봐주지 못하고 있습니다.

18~20줄과 22~42줄의 순서를 바꿔주시면 될 것 같습니다.

밑에는 반례입니다.

kimcoding   4년 전

THRESHHOLD는 anta tica를 제외한 문자를 모은 promising의 사이즈이므로

단어에 나온 문자들을 모두 확인할 수 있고

idx >= SIZE를 하게 되면 promising 범위를 벗어나게 됩니다.

kimcoding   4년 전

두 번째 코드에서 반례를 찾아 첫 번째 코드를 다시 수정해서 제출하여 AC를 받았습니다.

k가 promising보다 크게 되면 select가 k와 같을 수가 없어 가능한 단어를 셀 수 없습니다.

select가 k보다 크면 조건에 맞지 않으므로 바로 함수를 리턴하시면 되고

단어를 세는 조건을 promising의 문자들을 확인할지 안할지 다 정하면 idx == THRESHHOLD이므로

그 때 가능한 단어의 개수를 구하면 됩니다.

밑에는 두번째 코드 반례입니다.

hesue615   4년 전

다소 시간이 걸렸지만 고수님 덕분에 맞출 수 있었습니다.

감사합니다.

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