기술 면접 대비 해시 테이블을 활용한 문제 해결 패턴
해시 데이터 구조의 적용 사례와 최적화 기법
알고리즘 문제를 해결하는 과정에서 특정 원소의 존재 유무나 빈도수를 빠르게 확인해야 하는 상황은 매우 흔합니다. 이때 단순한 나열된 데이터를 순회하며 비교하는 방식은 시간 복잡도가 O(N^2)에 달할 수 있어 비효율적입니다. 이러한 경우 선형 시간인 O(1) 검색 성능을 제공하는 해시 테이블 (HashMap 또는 Set) 을 활 ...
8월 13일 22:44에 게시됨
중복 문자 없는 최장 부분 문자열 찾기
주어진 문자열에서 반복되는 문자가 없는 가장 긴 부분 문자열의 길이를 찾는 알고리즘 문제입니다. 예를 들어, "abcabcbb"의 경우 중복 문자가 없는 가장 긴 부분 문자열은 "abc"이며 길이는 3입니다. "bbbbb"의 경우 가장 긴 부분 문자열은 "b"이고 길이는 1입니다.
접근 방법 1: 고정 크기 배열을 활용한 슬라이딩 윈도우
이 방법은 고정 크기 배열(예: ASCII 문자 ...
8월 4일 11:27에 게시됨
C# 해시 테이블을 활용한 알고리즘 문제 해결 및 최적화 기법
242. 유효한 애너그램 (Valid Anagram)
두 문자열이 서로 애너그램 관계인지 확인하는 문제입니다. 애너그램이란 문자의 순서만 다르고 구성 문자와 그 개수가 동일한 경우를 의미합니다.
최적화된 구현
문자열의 길이가 다르면 애너그램이 될 수 없으므로 조기 반환(Early Return)을 적용합니다. 또한, 소문자 알파벳으로만 구성된다는 제약 조건이 있으므로 해시 테이블 ...
6월 20일 05:26에 게시됨