강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

beberiche님의 프로필 이미지
beberiche

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-D

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 문자, 문자열 설명에 자세히 설명해놓았습니다.

 

%는 해당 코드 혹시 다시 주실 수 있을까요? (다시 질문하기로 코드 올려주시면 됩니다. )

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.

beberiche님의 프로필 이미지
beberiche

작성한 질문수

질문하기