상위 150개 인터뷰중간

단어 나누기

'단어 나누기' 문제에 대한 자세한 가이드 및 Python 구현입니다.

문제 설명

중간

문자열 s와 문자열 wordDict 사전이 주어지면 s가 공백으로 구분된 하나 이상의 사전 단어 시퀀스로 분할될 수 있으면 True를 반환합니다.

사전에 있는 동일한 단어가 분할 시 여러 번 재사용될 수 있다는 점에 유의하세요.

wordBreak(s: str, wordDict: List[str]) -> bool 함수를 작성하세요.

제약
  • 1 <= len(s) <= 300
  • 1 <= len(wordDict) <= 1000
  • 1 <= len(wordDict[i]) <= 20
  • s and wordDict[i] consist of only lowercase English letters
  • All the strings of wordDict are unique

Example 1
Input
s = "leetcode", wordDict = ["leet","code"]
Output
True
Explanation

Return True because "leetcode" can be segmented as "leet code".

Example 2
Input
s = "applepenapple", wordDict = ["apple","pen"]
Output
True
Explanation

Return True because "applepenapple" can be segmented as "apple pen apple".

Example 3
Input
s = "catsandog", wordDict = ["cats","dog","sand","and","cat"]
Output
False
Explanation

No valid segmentation exists.

Need a Hint?
세트나 힙과 같은 1D DP 관련 데이터 구조를 사용해 보세요.
Edge Cases to Watch
  • 빈 입력 구조
  • 단일 요소 입력
  • 큰 수치 범위

해결할 준비가 되셨나요?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

편집기에서 열기
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

권장 Python 리소스

관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.