-
Educational Codeforces Round 29 - A. Quasi-palindrome코드포스(CodeForce) 2018. 8. 17. 18:11반응형
1. 문제
2. 알고리즘
키워드 - 구현
* panlindrome 이란?
panlindrome(회문)은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말이다.
* 문제 이해
문제에서 주어진 사항은 아래와 같다.
131 -> 거꾸로 읽어도 131 임으로 YES
320 -> 거꾸로 읽으면 023 임으로 NO
2010200 -> 0020102 회문이 있음으로 YES
* 문제 접근
전처리 과정으로 0을 제거 하고 진행 한다.
2010200 -> 20102
10 으로 나눠서 나머지가 0 이면 나눗셈을 진행하고 나머지가 존재하면 종료 한다.
3. 코드
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include <stdio.h>#include <iostream>#include <vector>#include <algorithm>#include <functional>#include <string>using namespace std;int main(){int n; cin >> n;int cand = n;//[0 을 제거 한다]for(int i=0; ;i++) {if(cand % 10 == 0)cand /= 10;elsebreak;}string str = to_string(cand);;const int size = str.size();vector<int> arr(size);for(int i=0; i<size; i++) {arr[i] = cand % 10;cand /= 10;}bool check = false;// 모든 크기를 순회할 필요는 없다// a[i] == a[배열의 크기 -i -1]for(int i=0; i<size/2; i++) {if(arr[i] != arr[size-i-1]) {check = true;break;}}if(check) {cout << "NO" << endl;} else {cout << "YES" << endl;}return 0;}cs 반응형'코드포스(CodeForce)' 카테고리의 다른 글
Educational Codeforces Round 30 - A. Chores (0) 2018.08.17 Codeforces Round #467 (Div. 2) - A. Olympiad (0) 2018.08.17 Codeforces Round #466 (Div. 2) - A. Points on the line (0) 2018.08.17 Educational Codeforces Round 28 - A. Curriculum Vitae (0) 2018.08.17 Educational Codeforces Round 27 - A. Chess Tourney (0) 2018.08.17