๋ฌธ์
์์ ์๋ ์ด์์ฒด์ ์์ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ ์ ๋ ฅํ ์๊ฐ ์์๋ค. ๋ฐ๋ผ์, ๋ค์๊ณผ ๊ฐ์ด ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ ๋ณ๊ฒฝํด์ ์ ๋ ฅํ๋ค.
ํฌ๋ก์ํฐ์ ์ํ๋ฒณ๋ณ๊ฒฝ
ฤ | c= |
ฤ | c- |
dลพ | dz= |
ฤ | d- |
lj | lj |
nj | nj |
š | s= |
ลพ | z= |
์๋ฅผ ๋ค์ด, ljes=njak์ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ 6๊ฐ(lj, e, š, nj, a, k)๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๋ช ๊ฐ์ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ์ถ๋ ฅํ๋ค.
dลพ๋ ๋ฌด์กฐ๊ฑด ํ๋์ ์ํ๋ฒณ์ผ๋ก ์ฐ์ด๊ณ , d์ ลพ๊ฐ ๋ถ๋ฆฌ๋ ๊ฒ์ผ๋ก ๋ณด์ง ์๋๋ค. lj์ nj๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ ๋ชฉ๋ก์ ์๋ ์ํ๋ฒณ์ ํ ๊ธ์์ฉ ์ผ๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ต๋ 100๊ธ์์ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ์ํ๋ฒณ ์๋ฌธ์์ '-', '='๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
๋จ์ด๋ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋ฌธ์ ์ค๋ช ์ ํ์ ๋์์๋ ์ํ๋ฒณ์ ๋ณ๊ฒฝ๋ ํํ๋ก ์ ๋ ฅ๋๋ค.
์ถ๋ ฅ
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋จ์ด๊ฐ ๋ช ๊ฐ์ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ์ถ๋ ฅํ๋ค.
ํ์ด
01. ํฌ๋ก์ํฐ์ ์ํ๋ฒณ์ vector๋ก ์ ์ธ
02. find ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฃผ์ด์ง ๋ฌธ์์ด์์ ํฌ๋ก์ํฐ์ ์ํ๋ฒณ idx ์ฐพ๊ธฐ
03. replace ํจ์๋ฅผ ์ด์ฉํ์ฌ ํฌ๋ก์ํฐ์ ๋จ์ด๋ฅผ "#"๋ก ๋ณ๊ฒฝ
04. ๋ฌธ์์ด์ ๊ธธ์ด ๊ตฌํ๊ธฐ
-> 01, 02๋ฒ๊น์ง๋ ๋ฌด๋ํ๊ฒ ํ์ผ๋ ๊ทธ ๋ค๋ก ๋๋ฌด ๋ก์ง์ ๋ณต์กํ๊ฒ ์ง์ ๊ต์ฅํ ๋๋ฌ์ด ์ฝ๋๊ฐ ๋์๋ค...
๊ทธ๋ฌ๋ ์ค https://cryptosalamander.tistory.com/15 ๋ธ๋ก๊ทธ์ replace๋ฅผ ์ด์ฉํ ํ์ด๋ฅผ ๋ฐ๊ฒฌํด์ ๊ณต์ ํ๋ค
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string str;
cin >> str;
int cnt = 0, idx;
vector<string> croa{"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};
for (int i = 0; i < croa.size(); i++)
{
while (1)
{
idx = str.find(croa[i]);
if (idx == string::npos)
break;
str.replace(idx, croa[i].length(), "#");
}
}
cout << str.length();
}
https://www.acmicpc.net/problem/2941
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1712๋ฒ : ์์ต๋ถ๊ธฐ์ (0) | 2021.07.24 |
---|---|
[๋ฐฑ์ค/C++] 1316๋ฒ : ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2021.07.19 |
[๋ฐฑ์ค/C++] 5622๋ฒ : ๋ค์ด์ผ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 2908 : ์์ - reverse, atoi, to_string ์ฌ์ฉ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2021.07.18 |
๋๊ธ