각 대문자는 반드시 새 단어의 시작이다. 따라서 대문자 위치를 기준으로 나누는 방법은 유일하다.
각 단어를 다섯 개의 지정 단어와 정확히 비교하고, 등장한 종류를 비트마스크에 표시한다. 마지막 단어도 처리한 뒤 표시된 종류가 두 개 이상인지 확인한다. 부분 문자열의 포함 여부나 전체 등장 횟수를 세면 안 된다.
각 문자는 상수 번만 확인하므로 시간복잡도는 이다. 입력 문자열을 포함한 공간복잡도는 , 추가 공간복잡도는 이다.
이 문제는 단일 서브태스크이며 정해가 전체 조건을 처리한다. 별도의 나이브 풀이는 단어들을 직접 저장한 뒤 집합으로 중복을 제거한다. 나이브 풀이도 시간과 공간으로 전체 조건을 통과한다.
Solution written by GPT