๐ ๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/9996
โ๐ป ๋ฌธ์ ์ค๋ช
๐๐ปโ๏ธ ๋ด ํ์ด
*ํจํด ํด์ ์ฃผ์
์ด ๋ฌธ์ ๋ ๋์น ์ ์๋ ๋ถ๋ถ์ด ์์๋ค. ๋ฐ๋ก ํจํด์ด๋ค. ๋ฌธ์ ์์ ๋ฅผ ๋ณด๋ฉด 'a*d' , 'h*n'์ด๋ฌํ ํ์์ด๋ค. ๊ทธ๋์ *์๋ค๋ก ๋ฌธ์ 1๊ฐ๋ง ์ฌ ์ ์๋ค๊ณ ์ฐฉ๊ฐํ ์ ์๋ ์ ์ ์ฃผ์ํ์! (์ ๊ฐ ์ฐฉ๊ฐํ์ด์ ใ
ใ
)
*์ด ํ ๊ฐ๋ง ์กด์ฌํ๋ ๊ฒ์ด์ง ๋ฌธ์์ด์ ํจํด์ ๋ ๋ง์ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ํ์ด์ ํค๋ฅผ *์์ ๊ฐ์ ธ์ค๋ฉด ๋๋ค. * ๊ธฐ์ค์ผ๋ก ์๊ณผ ๋ค์ ๋ฌธ์์ด์ ์๋ผ์ ๋น๊ต๋ฅผ ํ๋ฉด ๋๋ ๊ฒ์ด๋ค.
์๋ฅด๋ ๊ฒ์ C++์ substr() ํจ์๋ฅผ ์ฌ์ฉํ์.
substr() ํจ์
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, World!";
// substr(์์ ์์น, ๊ธธ์ด)
string sub1 = str.substr(0, 5); // "Hello"
string sub2 = str.substr(7, 5); // "World"
return 0;
}
substr ์์ ๊ทธ๋ฆผ
์ธ๋ฑ์ค 0~4๊น์ง ์ค ์์ 'ab'๋ 0๋ถํฐ ๊ธธ์ด 2, *๊ธฐ์ค ๋ค์ 'ab'๋ 3๋ถํฐ ๊ธธ์ด 2์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์์ ์์น๋ง ์ฐ๊ณ ๊ธธ์ด๋ฅผ ์๋ตํ๋ฉด ๋ง์ง๋ง ๋ฌธ์์ด๊น์ง ๊ฐ๋ค.
์์ ํจํด์ ๋ฏธ๋ฆฌ ์ ๊ฑฐ
๋ง์ง๋ง์ผ๋ก ์ฃผ์ํ ์ ์ ํจํด์ ์ ๋ฌธ์์ด ๋ท ๋ฌธ์์ด์ ํฉํ ๊ฒ๋ณด๋ค ์์ ํจํด์ ๋ฏธ๋ฆฌ ์ ์ธํด์ฃผ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์ธํ์ง ์์ผ๋ฉด substr์ด ์๋ชป๋ ํธ์ถ์ํด์ ๋ฐํ์ ์๋ฌ๊ฐ ๋ ์ ์๋ค. (substr ํจ์๋ ์ฃผ์ด์ง ์์ ์ธ๋ฑ์ค๊ฐ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ ์๋ฌ๋ฅผ ์ผ์ผํฌ ์ ์๋ค.)
์๋ ์ฝ๋์ ํด๋นํ๋ ์ค๋ช ์ธ๋ฐ, ์ด๋ฅผ ์ ์ธํ๊ณ ๋น๊ตํ๋ ๋ถ๋ถ๋ง ์์ฑํด์ ์ ์ถํ๋ฉด ๋ฐํ์์๋ฌ๊ฐ ๋๋ค.
if (pre.size() + suf.size() > tmp.size())
{
cout << "NE" << "\n";
}
๐ค ์ฝ๋
#include <iostream>
using namespace std;
int main()
{
int n, star;
string str, pre, suf;
cin >> n >> str;
star = str.find('*');
pre = str.substr(0, star);
suf = str.substr(star + 1);
for (int i = 0; i < n; i++)
{
string tmp;
cin >> tmp;
if (pre.size() + suf.size() > tmp.size())
{
cout << "NE" << "\n";
}
else
{
if (tmp.substr(0, pre.size()) == pre && tmp.substr(tmp.size() - suf.size()) == suf)
{
cout << "DA" << "\n";
}
else
cout << "NE" << "\n";
}
}
return 0;
}
'๊ฐ๋ฐ > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์(1620), C++ (0) | 2024.11.14 |
---|---|
[๋ฐฑ์ค] ์์ด(2559), C++ (0) | 2024.11.13 |
[๋ฐฑ์ค] ROT13(11655), C++ (1) | 2024.11.12 |
[๋ฐฑ์ค] ๋๊ตฌ ๊ฒฝ๊ธฐ(1159), C++ (0) | 2024.11.11 |
[๋ฐฑ์ค] ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธํ๊ธฐ(10988), C++ (0) | 2024.11.11 |