더북(TheBook)

잠깐만요

자료형을 이렇게 사용해도 되나요?

이번 최적화의 목적은 O(n2) 알고리즘에서 탈출하기 위해서지만, 딕셔너리 자료형을 키 부분만 활용하고 값은 전혀 활용하지 않았습니다. 어떻게 보면 딕셔너리 자료형의 조회 속도가 빠르다는 점만 사용해서 성능을 끌어올린 일종의 꼼수입니다.

만약 딕셔너리 자료형을 제대로 활용할 거라면 만들어진 튜플 데이터를 정렬하지 않고 딕셔너리 자료형에서 각 원소가 몇 번 등장했는지 기록한 다음, 가장 많이 등장한 횟수를 기반으로 정렬하여 키값을 하나의 튜플로 만들어주는 방식으로 정답을 얻을 수 있습니다.

꼼수를 활용한 접근이 어색하게 보일 수 있지만, 실제 코딩 테스트를 보는 입장이면 시간 초과 상황일 때 자료형을 수정해서 빠르게 해결하기 vs 처음부터 다른 방식으로 접근해서 풀기 중 하나를 선택해야 한다면 당연히 전자입니다. 최선의 시나리오는 딕셔너리 자료형을 제대로 활용하도록 문제 풀이법을 변경하는 것이지만, 상황이 여의치 않다면 이렇게 가독성을 조금 희생하더라도 시간 복잡도를 줄이는 것도 하나의 방법입니다. 가독성보다는 시간 복잡도를 최우선으로 둬야 하는 점을 기억하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.