반응형
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
bool isPalin = true;
while (true) {
isPalin = true;
cin >> s;
if (s == "0") break;
for (int i = 0; i < s.length() / 2; i++) {
if (s[i] != s[s.length()-1-i]) {
isPalin = false;
break;
}
}
if (isPalin)
cout << "yes" << endl;
else
cout << "no" << endl;
}
}
오늘은 알바가서 간단한 문제풀이..
쉬운문제라 적을 것도 없지만.. 블로그 뜸해지는 것 같아 뭐라도 끄적이려한다.
# Tip
size는 반으로 나눠서 비교한다 데칼코마니처럼 반으로 접어서 같은 부분 보는 느낌
문자열의 방향은 두가지로 만든다.
s[i] 문자열은 처음부터 끝점으로
s[s.length()-1-i] 끝부분부터 시작점을 향하는 방향으로
홀수일 때는
어차피 사이즈를 절반으로 나눠서 비교하니까 신경 안써도 된다. (가운데는 절반으로 나눠서 비교안함)
ex) 사이즈가 5면 5/2 (2.5 =>2 ) 인덱스는 s[i]는 0~1 까지 s[s.length()-1-i] 3~4 까지 비교하게 된다.
# 주의사항
나같이 출력문을 No를 대문자로 쓰고
왜 안돼??!? 이러는 삽질은 하지말도록 하자..
반응형
'Algorithm > BOJ [C++]' 카테고리의 다른 글
| [BOJ] 1431. 시리얼 번호 - C++ (0) | 2025.07.25 |
|---|---|
| [BOJ] 11728. 배열합치기 - C++ (0) | 2025.07.15 |
| [BOJ] 2267. 단지번호붙이기 - C++ (1) | 2025.06.19 |
| [BOJ] 2583. 영역 구하기 - C++ (0) | 2025.06.17 |
| [BOJ] 7562. 나이트의 이동 - C++ (0) | 2025.06.15 |