게시판

검색 결과: 27

, 송 찬희님이 작성
 
   if ((num1 > 200) || (num1 < 0) || (num2 > 200) || (num2 < 0) || (num1 > num2))


이게 왜 답이 안되는 건지 이유를 모르겠습니다. 프로그램으로 실행 시에는 아무 문제가 없습니다.

(도장_ 관리자님이 수정함 - 원문 제출일: 목요일, 30 9월 2021, 5:23 오후)

, 도장_ 관리자님이 작성
 

문제의 요구사항을 보면 숫자 범위가 200은 포함되어야 합니다.

1~200이면 1도 포함이고 200도 포함입니다.


, 도장_ 관리자님이 작성
 

포럼 오른쪽 상단에 30.7로 검색하면 이전 질문과 답변을 참조할 수 있습니다.

https://dojang.io/mod/forum/search.php?id=2&search=30.7

먼저 살펴보세요.


, 홍 영준님이 작성
 

심사문제에서 코드의 일부만을 입력해서 제출하라는데 그렇게 하면 풀이대로 i++을 continue 위로 올릴 방법이 안 보이더라고요. 이거 어떻게 해야 하죠? 

 

UNIT 6 디버거 사용법을 학습하고

원하는 위치에 중단점을 걸어서 실행될 때의 변수 값을 살펴보는 방법이 있습니다.

또는 처음부터 F11로 한 단계씩 실행하면서 전체 실행과 변수 값의 변화를 살펴보는 방법이 있습니다.

디버거 사용이 어려우면 온라인 시각화 툴을 사용해서 한 단계씩 실행해봐도 됩니다.

https://dojang.io/mod/forum/discuss.php?d=960

그림 30-3을 참고해서 자신이 짠 코드의 실행 순서도를 직접 그려보는 게 좋습니다. 전문가도 로직을 이해할 때는 실행 순서도를 그려보곤 합니다. 머릿속으로 생각하고 해결하고, 손가락을 움직여서 코딩하고, 실행해서 결과가 나오나 보는 건 낮은 수준의 문제 해결인데, 알고리즘 코딩 테스트로 가면 반드시 막히게 됩니다. 코딩 면접에서는 순서도를 그려서 설명할 수 있는 능력을 중요하게 보는 회사도 있습니다.

순서도로 그리고 이해하면 빠진 단계가 보입니다.


, 이 윤재님이 작성
 

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>


int main()

{

    int num1;

    int num2;

    int i;


    scanf("%d %d", &num1, &num2);


    i = num1;


    while (1)

    {

        if (i % 10 == 7)


    


        continue;


        if (i > num2)


            break;



        printf("%d ", i);


        i++;

    }



    return 0;

}


사실 정확히 어느부분이 잘못된건지 알 수가 없습니다. 


제가 짠 코드인데요 


특히 if ( i> num2)

break;

인데 코드 실행시 7을 넘어서 값이 안나옵니다...

, 장 무경님이 작성
 
        printf("%d\t", i);
문의한 코드는 삭제합니다.

멀쩡히 출력되는데 어떤 부분이 심사에 부합한가요?

이번 문제는 여러번 시도해보고 고민하고 답안을 봐도 잘 이해를 못하겠는데 어떤 부분을 더 보는게 좋을것 같습니까? 

초기에 for문 설정할때부터 막막해서 많이 고민했습니다 센스적인 부분이 부족한 것일까요? 아니면 예제를 더 많이 풀어보는게 좋을까요?

예제를 더 많이 풀어봐야 한다면 풀어볼만한 예제같은 거나 책을 추천부탁드려도 될까요?

질문을 너무 두서없이 많이해서 죄송합니다만 제가 지금 배울 수있는 방법이 많이 제한적이라서 너무 답답해서 물어봤습니다 감사합니다





(도장_ 관리자님이 수정함 - 원문 제출일: 2020년 9월 24일, 목요일, 오후 10:32)

, 도장_ 관리자님이 작성
 

심사문제는 텍스트 일치로 판단합니다.

문제가 원하는 출력은

1 2 3 4 5 6 8 9 10 

이고,

문의한 코드의 출력은

1	2	3	4	5	6	8	9	10	
입니다.


, 도장_ 관리자님이 작성
 

i > num2만 있으면 코드는 동작하고, 심사문제는 통과할 수있습니다.

0, 201을 넣어도 코드는 물론 동작합니다.

심사문제에서는 i > num2가 아닌 상황, i < num2인 상황에서 심사를 통과할 수 없습니다.


, 정 Cel님이 작성
 

답변 감사합니다!

그러면 if (i > num2)만 있어도 

표준입력에 0 201을 넣으면 코드가 작동되지 않을거란 말씀 맞나요??