BOJ 문제풀이

백준 1259 c++ 풀이

koreasunoo 2021. 8. 4. 23:13

안녕하세요 오늘은 어떠한 수의 대칭성 유무를 파악해보겠습니다.

 

이 문제는 인풋을 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");
			
		}

	}
}

'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