์ฌ์ดํธ
https://www.acmicpc.net/problem/1152
๋จ์ด์ ๊ฐ์
๐ ๋ฌธ์
์์ด ๋์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์๋ ๋ช ๊ฐ์ ๋จ์ด๊ฐ ์์๊น? ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ํ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฑ์ฅํ๋ฉด ๋ฑ์ฅํ ํ์๋งํผ ๋ชจ๋ ์ธ์ด์ผ ํ๋ค.
โจ๏ธ ์ ๋ ฅ
์ฒซ ์ค์ ์์ด ๋์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. ์ด ๋ฌธ์์ด์ ๊ธธ์ด๋ 1,000,000์ ๋์ง ์๋๋ค. ๋จ์ด๋ ๊ณต๋ฐฑ ํ ๊ฐ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๊ณต๋ฐฑ์ด ์ฐ์ํด์ ๋์ค๋ ๊ฒฝ์ฐ๋ ์๋ค. ๋ํ ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ผ๋ก ์์ํ๊ฑฐ๋ ๋๋ ์ ์๋ค.
๐ฅ๏ธ ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ ์์ ์ ๋ ฅ
๋์ด์ฐ๊ธฐ๋ฅผ ํ์ธํ ์ ์์ผ๋ฏ๋ก ' '๋ฅผ '^'๋ก ๋์ฒด.
1.
The^Curious^Case^of^Benjamin^Button
2.
^The^first^character^is^a^blank
3.
The^last^character^is^a^blank^
๐ ์์ ์ถ๋ ฅ
1.
6
2.
6
3.
6
๐ค ํด๊ฒฐ์ฑ
โ ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๊ฒฐ
1. ๋จ์ด๋ ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์๊ฐ ๋ํ๋ ๋ ์นด์ดํธ๊ฐ ๋๋ค.
2. ์ผ๋ฐ์ ์ผ๋ก ๋จ์ด๋ ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก +1๊ฐ์ ๊ฐ์๋ฅผ ๊ฐ์ง๋ค.
3. ๋งจ ์๊ณผ ๋งจ ๋ค์ ๋์ด์ฐ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ๋์ด์ฐ๊ธฐ๋ ๋จ์ด์ ๋ฌด์๋ฏธํ๋ค.
โ ๋์ด์ฐ๊ธฐ ์ดํ ๋จ์ด๊ฐ ๋ํ๋จ์ผ๋ก ํด๊ฒฐ
1. ๋์ด์ฐ๊ธฐ๊ฐ ์๊ณ ๋จ์ด๊ฐ ๋๊ฒผ์์ ์๋ฆฌ๋ boolean ํ์ ์ ๐ฉ flag๋ฅผ ์ค์ ํ๋ค.
2. booleanํ์ ์ด ๋จ์ด๋ฅผ ์ธ์ผํ๋ ์ํ์ผ ๋, ๋จ์ด๊ฐ ๋์จ๋ค๋ฉด ๋จ์ด๋ฅผ ์นด์ดํธํ๋ค.
๐ง๐ป๐ป ์ฝ๋
โ ๋์ด์ฐ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํด๊ฒฐ
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string str;
getline(cin, str);
int blank = 0;
if(str[0] == ' ') {
blank --;
}
if(str[str.length() -1] == ' ') {
blank--;
}
for(char data: str) {
if(data == ' ')
blank++;
}
cout << blank+1 <<endl;
}
โ ๋์ด์ฐ๊ธฐ ์ดํ ๋จ์ด๊ฐ ๋ํ๋จ์ผ๋ก ํด๊ฒฐ
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string str;
int word = 0;
bool flag = true;
getline(cin, str);
for(char data: str) {
if(data == ' ') {
flag = true;
} else if(flag && data != ' ') {
word++;
flag = false;
}
}
cout << word <<endl;
}
'DevOps > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ Algorithm ] ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ 1157๋ฒ - ๋จ์ด ๊ณต๋ถ (C++) (2) | 2024.06.02 |
---|---|
[ Algorithm ] ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ 1008๋ฒ A/B (C++) (2) | 2024.06.02 |
[ Algorithm ] ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ 1001๋ฒ A-B (C++) (0) | 2024.06.02 |
[ Algorithm ] ๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ 1000๋ฒ A+B (C++) (0) | 2024.06.01 |