https://leetcode.com/problems/reverse-words-in-a-string
Q. s는 space와 space가 아닌 문자, 즉 단어들의 집합이다. 이때 문장내에서 이 단어들의 순서만 뒤집어 출력하라.
string reverseWords(string s)
{
// 단어가 space 캐릭터가 아닌 연속된 캐릭터 집합이라고 하면,
// s에 대해 이 단어들를 뒤집은 s를 출력하라.
vector<string> vWords;
string cur = "";
for (int k = 0; k < s.length(); ++k)
{
char now = s[k];
if (now == ' ')
{
if (!cur.empty())
{
vWords.push_back(cur);
cur = "";
}
}
else cur += now;
}
if (!cur.empty())
vWords.push_back(cur);
reverse(vWords.begin(), vWords.end());
string ret = "";
for (int k = 0; k < vWords.size(); ++k)
{
ret += vWords[k];
if (k < vWords.size() - 1) ret += " ";
}
return ret;
}
Comment.. 딱히 꼬인 부분이 없는 문제다. 직관대로 코드를 작성하면 O(N)의 TC를 가지는 normal한 solution이 나온다...
'Leetcode > LeetCode75' 카테고리의 다른 글
[Array/String][Medium] 443. String Compression (0) | 2023.11.29 |
---|---|
[Array/String][Medium] 334. Increasing Triplet Subsequence (1) | 2023.11.28 |
[Array/String][Easy] 345. Reverse Vowels of a String (1) | 2023.11.26 |
[Array/String][Easy] 605. Can Place Flowers (1) | 2023.11.25 |
[Array/String][Easy] 1431. Kids With the Greatest Number of Candies (1) | 2023.11.25 |