게시판

검색 결과: 118

, 도장_ 관리자님이 작성
 

while의 조건식으로는 while 루프가 종료되지 않고 무한히 실행됩니다.


, 김 지호님이 작성
 

int main()

{

char text[31];

bool isoPalindrome = true;

int length;


scanf("%[^\n]s", text);

length = strlen(text);


for (int i = 0; i < length / 2; i++) {


while (text[i] != " ")

{

if (text[i] == " ")

i++;

if (text[length - 1 - i] == " ")

i--;

}

if (text[i] != text[length - 1 - i])

{

isoPalindrome = false;

break;

}

}


printf("%d\n", isoPalindrome);


return 0;

}


문제점이 뭔지 알려주세요

, 정 영민님이 작성
 

47.5 심사문제: 공백이 포함된 회문 판별

Unit 47.5 심화문제 : 공백이 포함 된 회문 판별 하기 Code 로 작성하여 동작까지 확인 하였으나 계속해서 Error 발생하는데 무엇이 문제 인지 몰라 질문 드립니다..

문의한 코드는 삭제합니다.


(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 4월 4일, 목요일, 오후 5:43)

 
심사문제는 텍스트 일치로 판단합니다. 안내 문구 출력을 없애야 합니다.

심사문제에서는 회문을 판별한 문자열만 입력하게 되어 있습니다. 미리 안내 메시지가 출력되면 텍스트가 불일치라서 심사가 실패하게 됩니다.

안내 문구만 지우면 통과될 겁니다.

, Lee Seok님이 작성
 

답이 맞는데, 돌려보면 틀리다고 나오는데... 왜 그럴까요?

문의한 코드는 삭제합니다.

(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 3월 8일, 금요일, 오후 11:41)

, 도장_ 관리자님이 작성
 

오작동하는 버그가 있습니다.

다음 값을 넣어서 테스트해보세요.

ru    uur
0

회문이므로 1을 출력해야 하지만, 0을 출력합니다.


, 도장_ 관리자님이 작성
 
포럼 상단에서 47.5로 검색하면 이전 답변을 볼 수 있습니다.

이전 문의한 코드를 통해 접근 방법에 대해 아이디어를 얻을 수도 있습니다.

코드에 대한 답변은 하지 않습니다. ^^

 

포럼 상단에 47.5로 검색하면 이전 답변을 참고할 수 있습니다.


, 코 딩님이 작성
 

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <string.h>

#include <stdbool.h>

int main(void)

{

    char s1[30];

    int length;


    scanf("%[^\n]s", s1);

    bool ispalindrome = true;


    length = strlen(s1);


    for (int i = 0; i < length / 2; i++)

    {

        if (s1[i] == " "&&s1[length - 1 - i] == " ")

        {

            continue;

            if (s1[i] != s1[length - 1 - i])

            {

                ispalindrome = false;

                break;

            }

        }

    }

    printf("%d\n", ispalindrome);


    return 0;

}

컴파일러에선 제대로 출력이 되는데 여기선 틀림이라고 뜹니다 .

어떤부분이 잘못된 건가요


p.s 다시 해보니 잘못된 코드인 것 같습니다 .

, 백 두산님이 작성
 

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <string.h>


int main()

{

    char word[31];

    int result = 1;

    scanf("[^\n]%s", word);


    int i = 0;

    int j = strlen(word) - 1;

    while (i < j)

    {

        if (word[i] == ' ')

        {

            i++;

            continue;

        }


        if (word[j] == ' ')

        {

            j--;

            continue;

        }

        if (word[i] != word[j])

        {

            result = 0;

            break;

        }

        i++;

        j--;

    }

    printf("%d\n", result);


    return 0;

}

어떤게 잘못된지 모르겠습니다 ㅠㅠ 계속 0만 나오네요