SMALL
안녕하세요 오늘은 어떠한 수의 대칭성 유무를 파악해보겠습니다.
이 문제는 인풋을 string 타입으로 받는것이 좋습니다. 그후에, 이 인풋이 "0"이라는 문자이면 while 문에서 벗어나고, 그것이 아니면 a라는 인풋의 문자열 길이를 대입하는 변수를 만들어줍니다. 이 문자열의 길이가 짝수인지 홀수인지 판별하여 반복문을 돌려서, 양끝 문자를 비교합니다.
코드:
#include <bits/stdc++.h>
using namespace std;
int main(){
while(1){
string x;
cin>>x;
if(x=="0") break;
int a = x.length(), count=0;
if(a%2==1){
for(int i = 0; i<(a-1)/2; i++){
if(x[i] == x[a-i-1]){
count++;
}
}
if(count==(a-1)/2) puts("yes");
else puts("no");
}
else{
for(int i= 0; i<a/2; i++){
if(x[i] == x[a-i-1]){
count++;
}
}
if(count==a/2) puts("yes");
else puts("no");
}
}
}
LIST
'BOJ 문제풀이' 카테고리의 다른 글
백준 18870번 c++ 풀이 (0) | 2021.08.05 |
---|---|
백준 1920번 c++ 풀이 (0) | 2021.08.04 |
백준 2920번 c++ 풀이 (0) | 2021.08.04 |
백준 2475번 c++ 풀이 (0) | 2021.08.04 |
백준 2108번 c++ 풀이 (1) | 2021.08.04 |