https://www.acmicpc.net/problem/1259
๋ฌธ์
์ด๋ค ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๋๊ฐ๋ค๋ฉด ๊ทธ ๋จ์ด๋ฅผ ํฐ๋ฆฐ๋๋กฌ์ด๋ผ๊ณ ํ๋ค. 'radar', 'sees'๋ ํฐ๋ฆฐ๋๋กฌ์ด๋ค.
์๋ ํฐ๋ฆฐ๋๋กฌ์ผ๋ก ์ทจ๊ธํ ์ ์๋ค. ์์ ์ซ์๋ค์ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๊ฐ๋ค๋ฉด ๊ทธ ์๋ ํฐ๋ฆฐ๋๋กฌ์๋ค. 121, 12421 ๋ฑ์ ํฐ๋ฆฐ๋๋กฌ์๋ค. 123, 1231์ ๋ค์์๋ถํฐ ์ฝ์ผ๋ฉด ๋ค๋ฅด๋ฏ๋ก ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ค. ๋ํ 10๋ ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ฐ, ์์ ๋ฌด์๋ฏธํ 0์ด ์ฌ ์ ์๋ค๋ฉด 010์ด ๋์ด ํฐ๋ฆฐ๋๋กฌ์๋ก ์ทจ๊ธํ ์๋ ์์ง๋ง, ํน๋ณํ ์ด๋ฒ ๋ฌธ์ ์์๋ ๋ฌด์๋ฏธํ 0์ด ์์ ์ฌ ์ ์๋ค๊ณ ํ์.
์ ๋ ฅ
์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์ค๋ง๋ค 1 ์ด์ 99999 ์ดํ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ๋ ฅ์ ๋ง์ง๋ง ์ค์๋ 0์ด ์ฃผ์ด์ง๋ฉฐ, ์ด ์ค์ ๋ฌธ์ ์ ํฌํจ๋์ง ์๋๋ค.
์ถ๋ ฅ
๊ฐ ์ค๋ง๋ค ์ฃผ์ด์ง ์๊ฐ ํฐ๋ฆฐ๋๋กฌ์๋ฉด 'yes', ์๋๋ฉด 'no'๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
#include <iostream>
#include <vector>
using namespace std;
bool Palindrome (int n) {
int tmp = 0, divisor = 10;
vector<int> v;
//๊ฐ ์๋ฆฌ์ ๋ฒกํฐ์ ๋ฃ๊ธฐ
while(true){
tmp = n % divisor;
if(tmp == n){
v.push_back(tmp / (divisor/10));
break;
}
v.push_back(tmp / (divisor/10));
divisor *= 10;
}
//ํด๋น ๋ฒกํฐ์ i๋ฒ์งธ ์ซ์์ ๋ง์ง๋ง์์ i๋ฒ์งธ ์ซ์๊ฐ ๋ค๋ฅด๋ฉด false
for(int i=0; i<v.size(); i++){
if(v[i] != v[v.size()-1-i])
return false;
}
//๋ค ๊ฐ์ผ๋ฉด true
return true;
}
int main() {
while(true){
int n;
cin >> n;
if(n==0){
break;
}
else if(Palindrome(n)){
cout << "yes\n";
}
else{
cout << "no\n";
}
}
return 0;
}
'๐ฆ Chango > ๐ฃ EDOC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 13305๋ฒ: ์ฃผ์ ์ (0) | 2021.09.06 |
---|---|
[BOJ][C++] 13458๋ฒ: ์ํ ๊ฐ๋ (0) | 2021.09.06 |
[C++][BOJ] ๋ฐฑ์ค 15366๋ฒ: Olivander (0) | 2021.08.25 |
[C++][BOJ] ๋ฐฑ์ค 6997๋ฒ: Guessing Game 1 (0) | 2021.08.25 |
[Android Studio / Kotlin] ์ฝํ๋ฆฐ๊ณผ ๋ฆฌ์คํธ๋ทฐ (List View) (0) | 2021.05.02 |