๐ ๋ฌธ์
๊ตฌ๋ถ์๊ฐ .์ด ์๋๋ผ ' ' ๊ณต๋ฐฑ์ด ์ฌ๋ฌ๊ฐ ๋ค์ด์์ ๊ฒฝ์ฐ์ ๋ค์ง๋ ํ์ด
๐ ํ์ด (C++)
#include <iostream>
#include <string>
using namespace std;
string reverseWords(string S) {
int endIndex = S.length();
string result = "";
while (endIndex > 0) {
while (endIndex > 0 && S[endIndex--] == ' ');
int startIndex = endIndex;
while (startIndex > 0 && S[--startIndex] != ' ');
if (startIndex != 0) {
string word = S.substr(startIndex + 1, endIndex - startIndex);
result += (word + " ");
} else {
string word = S.substr(startIndex, endIndex - startIndex);
result += word;
}
endIndex = startIndex;
}
return result;
}
int main()
{
cout << reverseWords("i.like.this.program.very.much") << endl;
return 0;
}
๊ณต๋ฐฑ์ด ์ฌ๋ฌ ๋ฌธ์ ์ฐ์์ผ๋ก ๋ค์ด์ค์ง ์๊ณ ํน์ delimiter ๊ธฐ์ค์ผ๋ก๋ง ๊ตฌ๋ถํ๋ฉด ๋๋๋ฌธ์ ๋
kotlin, JavaScript์ ๋ด์ฅ๋ split ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๐ ํ์ด (Javascript)
class Solution {
reverseWords(s){
return s.split('.').reverse().join('.');
}
}
chaining ํ์ค๋ก ๋๋ผ ์ ์๋ ๋ฌธ์ ๋ฅผ
C++ character array ๋ก ๋ณํํ์ฌ ์ผ์ผํ ์ธ๋ฑ์ค ์ปจํธ๋กค์ํ๋ฉด ์์ฃผ ์ฉ ์๋ฅผ ํด์ผํ๋ค.
๋ฌธ์์ด ์ฒ๋ฆฌ๋ฌธ์ ๋งํผ์ C, C++์ ์ฐ์ง ์๋ ๊ฒ์ด ์ ์ ๊ฑด๊ฐ์ ์ข๋ค๋๊ฒ ๋ด ์ง๋ก ์ด๋ค.
'Algorithm > Algorithm (๋ฌธ์ ํ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Geeks for Geeks] Validate an IP Address (0) | 2021.02.20 |
---|---|
[C++] Iterator (0) | 2021.02.20 |
[Geeks For Geeks] Reverse a String (0) | 2021.02.18 |
[GeeksForGeeks] Prim (0) | 2021.02.08 |
[GeeksForGeeks] Detect Cycle in a directed graph (0) | 2021.02.05 |