반응형
https://leetcode.com/problems/occurrences-after-bigram/description/
문자열을 다루는 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
split된 배열 splited과 정답 ans를 선언해줍니다.
📔 풀이과정
split함수가 따로 없기 때문에 구현해줘야 합니다. stringstream으로 구현 가능합니다.
1. 공백으로 split된 vector들을 splited에 저장합니다.
2. splited의 원소를 순회하며 first와 second가 순서대로 나왔다면 3번째 원소를 ans에 push_back해줍니다.
📔 정답 출력 | 반환
ans를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
vector <string> split(string input, char delimeter){
stringstream ss(input);
string tmp;
vector <string> res;
while(getline(ss,tmp,delimeter)) {
res.push_back(tmp);
}
return res;
}
vector<string> findOcurrences(string text, string first, string second) {
vector <string> splited = split(text, ' ');
vector <string> ans;
for(int i = 0; i < splited.size() - 2; i++) {
if(splited[i] == first && splited[i+1] == second) {
ans.push_back(splited[i+2]);
}
}
return ans;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > String' 카테고리의 다른 글
(C++) - LeetCode (easy) 1160. Find Words That Can Be Formed by Characters (1) | 2023.11.15 |
---|---|
(C++) - LeetCode (easy) 1108. Defanging an IP Address (0) | 2023.10.31 |
(C++) - LeetCode (easy) 1002. Find Common Characters (0) | 2023.09.25 |
(C++, Rust) - LeetCode (easy) 944. Delete Columns to Make Sorted (0) | 2023.09.12 |
(C++) - LeetCode (easy) 929. Unique Email Addresses (0) | 2023.09.05 |