넘치게 채우기

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

PS/LeetCode

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

riveroverflow 2024. 12. 2. 09:17
728x90
반응형

https://leetcode.com/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/description/

leetcode - Check If a Word Occurs As a Prefix of Any Word in a Sentence

문제 유형: 문자열 처리

문제 난이도: 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.

 

단일 공백으로 단어가 구분되는 문장의 문자열 sentence가 주어진다.

단어 searchWord가 sentence의 단어의 prefix인지 확인하시오.

prefix로 searchWord를 가지는 단어의 인덱스의 최소값을 반환하시오. 1-indexed기준 입니다.

없으면 -1을 반환하시오.

 

풀이

문자열을 단어 단위로 읽으면서 prefix인지 확인하고, 맞다면 인덱스를 반환하고,

문장을 모두 순회하고도 끝나지 않았다면 -1을 반환한다.

 

코드

C++

class Solution {
public:
    int isPrefixOfWord(string sentence, string searchWord) {
        stringstream ss;
        ss << sentence;

        string temp;
        int idx = 0;
        int l = searchWord.size();

        while(ss >> temp) {
            idx++;
            bool flag = true;
            if(temp.size() < l) continue;
            for(int i = 0; i < l; ++i) {
                if(temp[i] != searchWord[i]) {
                    flag = false;
                    break;
                }
            }
            if(flag) return idx;
        }
        return -1;
    }
};
728x90
반응형