책 내용 질문하기
144페이지 문제
도서
2019 시나공 정보처리기능사 실기
페이지
144
조회수
273
작성일
2019-08-03
작성자
탈퇴*원
첨부파일

이 문제에서 이해가 안되는 점이 많아 질문드립니다.

 

1 해당 문제는 변수를 초기값으로 i=1 min j pos = 0으로 잡았는데 처음부터 j=1 min=100으로 잡으면 밑에 1번 보기와 2번보기의 과정은 불필요한 부분 아닌가요??

 

2최소값은 100미만의 정수가 배열에 저장된다는 조건을 보면 그중에서도 가장 큰 값인 99가 맞지 않나요??

 

3. 이 문제를 제가 이해해보려고 천천히 들여다봤는데 이게 맞는지 모르겠어서..

 

 결과적으로 처음i=1은 R(POS)를 출력 R(2번째인)=14를 출력하고 그다음 출력된 부분을 100으로(가장큰값) 다음 계산에서 제외되는 느낌?을 주고 i를 증가시켜

 다시금 J=1 min=100으로 처음 최소값은 100으로 가장 큰 수가되었으니 다음 최소값이 구해짐으로써 이를 반복 하면서 끝까지 가면

 

값은 가장 낮은값인 14부터 오름차순으로 86까지 차례차례 출력하는게 목적인거 맞나요?

 

 

답변
2019-08-05 10:57:54

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

 

[1]

1번 보기와 2번 보기는 매 회전마다 반복하여 초기화되어야 하기 때문에 없어서는 안됩니다.

다만 처음 j=0, min=0으로 초기화 하는 첫번째 선언 부분은 값을 부여할 의미가 없어보입니다.

어짜피 변수 j와 min이 사용되기 전 빈칸 1, 2번을 지나야 하기 때문에 자동으로 초기화되니까요.

 

[2]

예, 맞습니다.

해설 부분을 보고 말씀하시는 것이라면 조금 잘못된 설명이 맞습니다.

다만 min에 100이 들어가야 하는 것은 맞습니다.

이미 최소값 출력이 끝난 배열의 위치에 100을 저장하고 이후 다시 배열 r의 값들을 비교할 때 <=min이 아닌 <min으로 비교하기 때문에 min은 최소값보다 +1이 된 값인 100이 들어가야 합니다.

 

[3]

예, 정확하게 이해하고 계십니다.

순서도의 알고리즘은 정렬 알고리즘이라기 보다는 단순히 최소값 검색 알고리즘이라고 볼 수 있습니다.

최소값을 찾은 후 출력하고 해당 값을 판정 외의 수인 100으로 변환한 후, 다시 다음 최소값을 찾는 방식이죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-08-05 10:57:54

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

     

    [1]

    1번 보기와 2번 보기는 매 회전마다 반복하여 초기화되어야 하기 때문에 없어서는 안됩니다.

    다만 처음 j=0, min=0으로 초기화 하는 첫번째 선언 부분은 값을 부여할 의미가 없어보입니다.

    어짜피 변수 j와 min이 사용되기 전 빈칸 1, 2번을 지나야 하기 때문에 자동으로 초기화되니까요.

     

    [2]

    예, 맞습니다.

    해설 부분을 보고 말씀하시는 것이라면 조금 잘못된 설명이 맞습니다.

    다만 min에 100이 들어가야 하는 것은 맞습니다.

    이미 최소값 출력이 끝난 배열의 위치에 100을 저장하고 이후 다시 배열 r의 값들을 비교할 때 <=min이 아닌 <min으로 비교하기 때문에 min은 최소값보다 +1이 된 값인 100이 들어가야 합니다.

     

    [3]

    예, 정확하게 이해하고 계십니다.

    순서도의 알고리즘은 정렬 알고리즘이라기 보다는 단순히 최소값 검색 알고리즘이라고 볼 수 있습니다.

    최소값을 찾은 후 출력하고 해당 값을 판정 외의 수인 100으로 변환한 후, 다시 다음 최소값을 찾는 방식이죠.

     

    행복한 하루되세요 :)

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