알고리즘/leetcode

문제이해 문자열 s와 p가 주어질 때, s가 p의 정규식에 맞는지 확인하는 문제이다. '.'은 s의 하나의 문자와 매칭이 되면 되고, '*'은 '*' 이전의 문자가 0개 또는 1개 이상의 문자열이 반복됨을 뜻한다. s와 p는 영어 소문자만 입력되고, p는 '.'과 '*'까지 입력된다. 계획 얼핏 보면 s와 p를 순회하며 문자를 하나하나 매칭해 나가면 되는 문제처럼 보이지만, '.'과 '*'의 조합 때문에 불가능하다. '.'뒤에 '*'이 온다면 s에서 어떤 문자가 얼만큼 반복될지 순회하는 도중에는 알 수 없기 때문에 계속해서 현재 해당하는 문자열을 비교하고, 뒤에 문자열이 정규식에 맞는지 안 맞는지를 파악해야 한다. 예를 들면, s = "aaaaab", p = "a*aab" 이나 s = "abcd", p ..
implement
'알고리즘/leetcode' 카테고리의 글 목록