blashi   1년 전

아래 코드는 찾으려는 문자에 대해 누적합 개념으로 int 배열에 저장하는데, 해당 배열들을 MAP을 통해서 접근할 수 있도록 했습니다.

그 이유는 찾아보지 않은 문자의 경우에만 문자 검색 for문을 도는 게 더 효율적이라고 생각해서입니다.

그런데 아래 코드는 50점을 맞았습니다.

그래서 혹시나해서, 시작하자마자 모든 알파벳으로 2차원 int배열에다가 누적합 개념으로 저장해두고 찾도록 코드를 짜봤습니다. 그 코드는 100점이 나왔습니다.

제 생각에는 Map을 통해서 굳이 문제에 안 나오는 문자는 안 찾으면서 진행하면 더 빠를 거 같다고 생각했는데 왜 Map은 50점이 나오는지 알 수 있을까요?

Map의 삽입과 containKey 메소드의 시간복잡도가 O(1)이라고 알고 있기 때문에 크게 느려질 거 같지도 않은데..

가르침 부탁드립니다. 감사합니다.

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