๋ฌธ์
์ด๋ค ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๋๊ฐ๋ค๋ฉด ๊ทธ ๋จ์ด๋ฅผ ํฐ๋ฆฐ๋๋กฌ์ด๋ผ๊ณ ํ๋ค. 'radar', 'sees'๋ ํฐ๋ฆฐ๋๋กฌ์ด๋ค.
์๋ ํฐ๋ฆฐ๋๋กฌ์ผ๋ก ์ทจ๊ธํ ์ ์๋ค. ์์ ์ซ์๋ค์ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๊ฐ๋ค๋ฉด ๊ทธ ์๋ ํฐ๋ฆฐ๋๋กฌ์๋ค. 121, 12421 ๋ฑ์ ํฐ๋ฆฐ๋๋กฌ์๋ค. 123, 1231์ ๋ค์์๋ถํฐ ์ฝ์ผ๋ฉด ๋ค๋ฅด๋ฏ๋ก ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ค. ๋ํ 10๋ ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ฐ, ์์ ๋ฌด์๋ฏธํ 0์ด ์ฌ ์ ์๋ค๋ฉด 010์ด ๋์ด ํฐ๋ฆฐ๋๋กฌ์๋ก ์ทจ๊ธํ ์๋ ์์ง๋ง, ํน๋ณํ ์ด๋ฒ ๋ฌธ์ ์์๋ ๋ฌด์๋ฏธํ 0์ด ์์ ์ฌ ์ ์๋ค๊ณ ํ์.
์ ๋ ฅ
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์ค๋ง๋ค 1 ์ด์ 99999 ์ดํ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ๋ ฅ์ ๋ง์ง๋ง ์ค์๋ 0์ด ์ฃผ์ด์ง๋ฉฐ, ์ด ์ค์ ๋ฌธ์ ์ ํฌํจ๋์ง ์๋๋ค.
์ถ๋ ฅ
๊ฐ ์ค๋ง๋ค ์ฃผ์ด์ง ์๊ฐ ํฐ๋ฆฐ๋๋กฌ์๋ฉด 'yes', ์๋๋ฉด 'no'๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
string์ผ๋ก ๋ฐ๊พผ ํ algorithm ํค๋์ reverse ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ํ์๋ค.
// ๋ฐฑ์ค ํฐ๋ฆฐ๋๋กฌ์
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void pelindrom(string num){
string revNum = num;
reverse(revNum.begin(), revNum.end());
if (num == revNum)
cout << "yes" << "\n";
else
cout << "no" << "\n";
}
int main(){
string num;
while(1){
cin >> num;
if (num == '0')
break;
pelindrom(num);
}
}
reverse ๋์ size๋ฅผ ์ด์ฉํด์ ํ ์๋ ์๋ค.
#include <iostream>
#include <string>
using namespace std;
int main() {
string num;
while (1) {
bool flag = true;
cin >> num;
if (num == "0") break;
for (int i = 0; i < num.size() / 2; i++) {
if (num[i] != num[num.size() - 1 - i]) {
cout << "no" << "\n";
flag = false;
break;
}
}
if (!flag) cout << "yes" << "\n";
}
}
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[EPPER/C++] 14ํ : ์ ๋ฌธ ๊ธฐ์ฌ (0) | 2021.08.31 |
---|---|
[๋ฐฑ์ค/C++] 13458๋ฒ : ์ํ ๊ฐ๋ (0) | 2021.08.30 |
[๋ฐฑ์ค/C++] 1436๋ฒ : ์ํ๊ฐ๋ (0) | 2021.08.29 |
[๋ฐฑ์ค/C++] 1018๋ฒ : ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ (0) | 2021.08.29 |
[๋ฐฑ์ค/C++] 7568๋ฒ : ๋ฉ์น (0) | 2021.08.29 |
๋๊ธ