๋ฌธ์
9996๋ฒ: ํ๊ตญ์ด ๊ทธ๋ฆฌ์ธ ๋ ์๋ฒ์ ์ ์ํ์ง
์ด N๊ฐ์ ์ค์ ๊ฑธ์ณ์, ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง i๋ฒ์งธ ํ์ผ ์ด๋ฆ์ด ํจํด๊ณผ ์ผ์นํ๋ฉด "DA", ์ผ์นํ์ง ์์ผ๋ฉด "NE"๋ฅผ ์ถ๋ ฅํ๋ค. ์ฐธ๊ณ ๋ก, "DA"๋ ํฌ๋ก์ํฐ์ด์ด๋ก "YES"๋ฅผ, "NE"๋ "NO"๋ฅผ ์๋ฏธํ๋ค.
www.acmicpc.net
ํ์ด
์คํจํ ์ฝ๋
๋ก๊ทธ์ธ
www.acmicpc.net
์์ด๋์ด
- ์ฃผ์ด์ง ํจํด์์
*
๊ฐ ์์นํ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฐพ๋๋ค. - ์
๋ ฅํ ํ์ผ๋ช
์
prefix
์suffix
๋ฅผ ์ถ์ถํ๋ค. - ํจํด๊ณผ ๋์กฐํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ์
substr()
๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฌด๋ถ๋ณํ ๋ฐ๋ณต๋ฌธ ์ฌ์ฉํ ๊ฒfind()
๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด*
์ ์์น๋ฅผ ์ฐพ์ ๊ฒ- ํ์ผ๋ช
์ ๊ธธ์ด๊ฐ ํจํด์
prefix
์suffix
์ ๊ธธ์ด ํฉ๋ณด๋ค ์์ ๊ฒฝ์ฐ๋ฅผ ํ์ ํ์ง ๋ชปํ ๊ฒ
#include <bits/stdc++.h>
using namespace std;
int cnt, idx;
string pattern;
string startPattern, endPattern;
void find() {
for (int i = 0; i < 100; i++) {
if (pattern[i] == '*') {
idx = i;
return;
}
}
}
int main() {
cin >> cnt;
cin >> pattern;
find();
for (int i = 0; i < idx; i++) startPattern += pattern[i];
for (int i = idx + 1; i < pattern.length(); i++) endPattern += pattern[i];
for (int i = 0; i < cnt; i++) {
string input;
cin >> input;
string start;
for (int j = 0; j < idx; j++) start += input[j];
string end;
for (int k = input.length() - idx; k < input.length(); k++) end += input[k];
if ((start == startPattern) && (end == endPattern)) {
cout << "DA" << "\n";
} else {
cout << "NE" << "\n";
}
}
}
ํด๊ฒฐ ์ฝ๋
๋ก๊ทธ์ธ
www.acmicpc.net
์์ด๋์ด
ab*ba
ํจํด์ผ ๋ ํ์ผ๋ช ์ดaba
์ธ ๊ฒฝ์ฐ- ์ฆ, ํจํด์
prefix
/suffix
์ ๊ธธ์ด ํฉ์ด ํ์ผ๋ช ๋ณด๋ค ๊ธด ๊ฒฝ์ฐNE
์ถ๋ ฅ
- ์ฆ, ํจํด์
- ๋ถํ์ํ ๋ฐ๋ณต๋ฌธ์ ์ ๊ฑฐํ๊ณ
find()
,substr()
ํจ์ ์ฌ์ฉ
#include <bits/stdc++.h>
using namespace std;
int cnt;
string pattern, input;
int main() {
cin >> cnt;
cin >> pattern;
int pos = pattern.find('*');
string prefix = pattern.substr(0, pos);
string suffix = pattern.substr(pos + 1);
for (int i = 0; i < cnt; i++) {
cin >> input;
if (prefix.size() + suffix.size() > input.size()) cout << "NE\n";
else {
if (input.substr(0, pos) == prefix && input.substr(input.size() - suffix.length()) == suffix)cout << "DA\n";
else cout << "NE\n";
}
}
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 9375] ํจ์ ์ ์ ํด๋น (0) | 2023.04.14 |
---|---|
[๋ฐฑ์ค 1620] ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2023.04.12 |
[๋ฐฑ์ค 11655] ROT13 (0) | 2023.04.03 |
[๋ฐฑ์ค 10988] ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธํ๊ธฐ (0) | 2023.03.29 |
[๋ฐฑ์ค 2979] ํธ๋ญ ์ฃผ์ฐจ (0) | 2023.03.28 |