백준 1259번: 팰린드롬수 (C++)

2023. 1. 26. 23:11알고리즘/문자열

https://www.acmicpc.net/problem/1259

 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net

 

 

풀이

문자열 / 2 사이즈 만큼 반복문을 돌렸고 앞이랑 뒤 하나 씩 체크했을때 다른게 있다면 chk 에 false를 넣어주었다.

 

1 2 3 4 2 1

1 2 3 4 2 1

1 2 3 4 2 1   -> 3 과 4가 달라서 chk = false

 

이런식으로 빨간색끼리 비교해서 다른 것을 체크했다.

 

 

전체 코드

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	string s;
	cin >> s;

	while (s != "0") {
		bool chk = true;
		for (int i = 0; i < s.size() / 2; i++) {
			if (s[i] != s[s.size() - 1 - i]) chk = false;
		}
		if(chk) cout << "yes" << '\n';
		else cout << "no" << '\n';
		cin >> s;
	}
}

'알고리즘 > 문자열' 카테고리의 다른 글

백준 8595번: 히든 넘버 (C++)  (0) 2023.01.26