책 내용 질문하기
시나공 기출문제집(63페이지 c언어 코드)
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
63
조회수
191
작성일
2019-08-28
작성자
탈퇴*원
첨부파일

안녕하세요, 현재 정보처리기사 실기 준비중인 수험생입니다.

기출문제짐 알고리즘 유형3 자료 구조 에서 이해가 잘 안 되는 부분이 있어 문의 드립니다.

 

알고리즘의 경우 (버블정렬) 정렬하고자 하는 개수와 회전수가 아래와 같이 있습니다. 

N=5

I=0

 

하지만 C언어에서는 아래와 같이 시작하는 것을 볼 수 있었습니다.

 

N=4

I=-1

 

혹시 j 때문에 배열 수를 맞춰주기 위해 i를 -1부터 시작하는 것이라면, 아래와 같이 설정한 후

N=5

I=-1

 J<N-(I+2), I>=-n-2 해도 답이 되는 것인 지 문의 드립니다.

 

 

 

 

 

 

답변
2019-08-28 13:37:09

안녕하세요 길벗수험서 운영팀입니다.

 

예, n=5, i=-1의 초기값에 아래 조건들을

 J<N-(I+2), I>=-n-2 으로 수정하신 것은 코드가 문제의 의도대로 정확하게 수행되므로 정답입니다. 

 

코드 내에서 변수 i가 사용되는 부분을 확인하면 버블 정렬의 교환 과정의 반복 조건으로만 활용되고 있음을 확인할 수 있습니다.

 

while (j < n - (i + 2));

if (i >= n - 2) break;

 

때문에 변수 i의 초기값은 위의 두 코드에서만 반복이 의도한 횟수만큼 수행되도록 조정해주신다면 어떠한 값이 들어가도 무관합니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-08-28 13:37:09

    안녕하세요 길벗수험서 운영팀입니다.

     

    예, n=5, i=-1의 초기값에 아래 조건들을

     J<N-(I+2), I>=-n-2 으로 수정하신 것은 코드가 문제의 의도대로 정확하게 수행되므로 정답입니다. 

     

    코드 내에서 변수 i가 사용되는 부분을 확인하면 버블 정렬의 교환 과정의 반복 조건으로만 활용되고 있음을 확인할 수 있습니다.

     

    while (j < n - (i + 2));

    if (i >= n - 2) break;

     

    때문에 변수 i의 초기값은 위의 두 코드에서만 반복이 의도한 횟수만큼 수행되도록 조정해주신다면 어떠한 값이 들어가도 무관합니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.