Python의 set() 시간복잡도 고려하기 (feat. 프로그래머스 카카오 보석쇼핑 문제)
서론 프로그래머스 - 2020 카카오 인턴십 보석쇼핑 https://school.programmers.co.kr/learn/courses/30/lessons/67258 해당 문제를 풀었을 때, set를 사용하여 시간을 단축시키려 했으나 효율성 테스트에서 실패했다. 많은 글들을 찾아봤으나 '해당 문제는 배열의 길이가 최대 100,000이므로 탐색 횟수를 줄여야 한다, 그러므로 투포인터를 사용해야 한다'는 설명만 있고, 어떤 방식을 사용해야 탐색 횟수를 가장 많이 줄일 수 있는지에 대한 설명은 없었다. 본 글쓴이는 탐색 시간을 줄이기 위해 투포인터와 set()를 사용했고, 이를 통해 탐색 시간을 어느정도 줄일 수 있었지만, 그것이 Best solution은 아니었던 것 같다. set를 사용해서도 시간을 줄일..