Menu
CoddyTech

Word Break

문자열 s와 단어 목록 wordDict가 주어집니다. s를 여러 조각으로 나누어 모든 조각이 wordDict의 단어가 되도록 할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

조각은 순서를 유지하며, 모두 합쳐 s의 모든 문자를 정확히 한 번씩 사용합니다. 단어는 원하는 만큼 사용할 수 있으며, 모든 단어를 사용할 필요는 없습니다.

함수

wordBreak(s: string, wordDict: string-array) → boolean
sstring
단어로 나눌 문자열
wordDictstring-array
원하는 만큼 사용할 수 있는 단어
반환값boolean
s를 사전 단어들로 분할할 수 있으면 true, 그렇지 않으면 false

제약 조건

  • 1 ≤ s.length ≤ 300
  • 1 ≤ wordDict.length ≤ 1000
  • 1 ≤ wordDict[i].length ≤ 20
  • s와 모든 단어는 소문자 영어 문자만 포함합니다.
  • wordDict의 단어는 모두 서로 다릅니다.

예제

입력
s = "sunflowerseed"wordDict = ["sun", "flow", "flower", "seed"]
출력
true
설명
sun, flower, seed로 나누세요. sun 다음에 flow를 취하면 남은 er로 시작하는 단어가 없으므로 아무 데도 이어지지 않습니다. 따라서 조건에 맞는 첫 번째 단어가 항상 올바른 것은 아닙니다.

lock icon제출 시 숨은 테스트 +21개

challenge icon

후속 질문

유효한 분할에 사용할 수 있는 최소 단어 수를 반환하거나, s를 분할할 수 없으면 -1을 반환하세요. 표에서 무엇이 바뀌며, 실행 시간은 달라지나요?

코드 초기화
def wordBreak(s, wordDict):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

s = "sunflowerseed"
wordDict = ["sun", "flow", "flower", "seed"]

기대값

true