[LeetCode] 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence - Python

2024. 12. 2. 15:56·알고리즘/LeetCode

 

 

난이도: Easy

문제 설명


Given a sentence that consists of some words separated by a single space, and a searchWord, check if searchWord is a prefix of any word in sentence.

Return the index of the word in sentence (1-indexed) where searchWord is a prefix of this word. If searchWord is a prefix of more than one word, return the index of the first word (minimum index). If there is no such word return -1.

A prefix of a string s is any leading contiguous substring of s.

 

문제 예제


Example 1:

Input: sentence = "i love eating burger", searchWord = "burg"
Output: 4
Explanation: "burg" is prefix of "burger" which is the 4th word in the sentence.

Example 2:

Input: sentence = "this problem is an easy problem", searchWord = "pro"
Output: 2
Explanation: "pro" is prefix of "problem" which is the 2nd and the 6th word in the sentence, but we return 2 as it's the minimal index.

Example 3:

Input: sentence = "i am tired", searchWord = "you"
Output: -1
Explanation: "you" is not a prefix of any word in the sentence.

 

제한 사항


  • 1 <= sentence.length <= 100
  • 1 <= searchWord.length <= 10
  • sentence consists of lowercase English letters and spaces.
  • searchWord consists of lowercase English letters.

 

✏️ Solution(솔루션)


class Solution:
    def isPrefixOfWord(self, sentence: str, searchWord: str) -> int:
        words = sentence.split()
        n = len(searchWord)

        for i, word in enumerate(words):
            word_prefix = word[:n]
            if word_prefix == searchWord:
                return i+1

        return -1

 

sentence를 공백을 기준으로 split 해주어 sentence에 있는 word를 저장하는 words라는 리스트를 생성했다.

 

그 후 모든 words에 저장된 word에 대해 searchWord의 길이 만큼 prefix를 구했고, 만약 이게 searchWord와 같다면 현재 위치의 +1한 값을 return 하였다.

 

모든 word를 확인했음에도 조건을 만족하지 않는다면 -1을 return하도록 했다.

 


[LeetCode] 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence

'알고리즘 > LeetCode' 카테고리의 다른 글

[LeetCode] 2825. Make String a Subsequence Using Cyclic Increments (Python)  (0) 2024.12.05
[LeetCode] 2109. Adding Spaces to a String - Python  (0) 2024.12.03
[LeetCode] 1346. Check If N and Its Double Exist - Python  (0) 2024.12.01
[LeetCode] 3243. Shortest Distance After Road Addition Queries I - Python  (0) 2024.11.28
[LeetCode] 2924. Find Champion II - Python  (0) 2024.11.27
'알고리즘/LeetCode' 카테고리의 다른 글
  • [LeetCode] 2825. Make String a Subsequence Using Cyclic Increments (Python)
  • [LeetCode] 2109. Adding Spaces to a String - Python
  • [LeetCode] 1346. Check If N and Its Double Exist - Python
  • [LeetCode] 3243. Shortest Distance After Road Addition Queries I - Python
Laewon Jeong
Laewon Jeong
  • Laewon Jeong
    래원
    Laewon Jeong
    글쓰기 | 관리
  • GitHub

    • github.com/laewonJeong
  • 전체
    오늘
    어제
    • 분류 전체보기 (172)
      • Docker 및 Kubernetes (11)
        • Docker (5)
        • Kubernetes (6)
      • Data Engineering (18)
        • Hadoop (5)
        • Spark (5)
        • Kafka (5)
        • Airflow (3)
      • CI|CD (3)
      • 알고리즘 (136)
        • 알고리즘 (2)
        • LeetCode (118)
        • 프로그래머스 (11)
        • BOJ (1)
        • 코딩테스트 대비 (4)
      • 서버 (2)
        • 미니 서버 (2)
      • 잡담 (1)
  • 태그

    문자열
    프로그래머스
    leetcode
    Apache Spark
    Python
    파이썬
    우선순위큐
    코딩테스트
    Kubernetes
    programmers
    BFS
    도커
    티스토리챌린지
    그래프
    쿠버네티스
    docker
    String
    dfs
    DP
    아파치 스파크
    분산
    분산처리
    이진탐색
    리트코드
    백트래킹
    아파치 하둡
    오블완
    heapq
    누적합
    알고리즘
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Laewon Jeong
[LeetCode] 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence - Python
상단으로

티스토리툴바