인프런 커뮤니티 질문&답변
1-D 질문 있습니다.
작성
·
281
0
일단 유익한 수업 잘듣고 있습니다.
펠린드롬 문제를 풀다가 우연히 생긴 질문인데요.
이 코드대로 했을 때, 알파벳을 쓰는 경우에는 정답이 출력이 되긴 헀으나, 한글로 쓰게 되면 오답이 나오게 되더라구요.
디버깅을 통해 확인해보았는데, "수박수" 라는 문자열을 입력하니, 문자열 사이즈가 9가 나오며, 터미널에서 s[i] 출력이 이상하게 나옵니다ㅠ 이게 어떤 문제인지 알려 주실 수 있을까요??
아 하나더, 출력 값을 보면, 뒤에 % 표시가 꼭 함께 나오더라구요. 백준에 제출했을때는 이상이 없는데 이부분도 혹시 설정을 통해 안나오도록 바꿀 수 있는지 궁금합니다!!

#include <bits/stdc++.h>
using namespace std;
bool check(string s) {
int l = 0;
int r = s.size() - 1;
while (l <= r) {
if (s[l] != s[r])
return false;
l++;
r--;
}
return true;
}
int main() {
string s;
cin >> s;
int ret = check(s) ? 1 : 0;
cout << ret;
}답변 1
0
큰돌
지식공유자
안녕하세요 bebe님 ㅎㅎ
한글 같은 경우 바이트를 더 먹어서 그렇습니다.
교안 - 1.4 문자, 문자열 설명에 자세히 설명해놓았습니다.
%는 해당 코드 혹시 다시 주실 수 있을까요? (다시 질문하기로 코드 올려주시면 됩니다. )
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.





