책 내용 질문하기
SCAN 기법을 이용해 이동거리 구하기 질문이요~
도서
[2011] SUMMARY 정보처리기사 필기
페이지
118
조회수
1565
작성일
2012-05-12
작성자
첨부파일
1편 118페이지 6번 문제인데요
SCAN을 이용해서 헤드의 총 이동거리를 구하는건데
작업대기 큐에는 7, 46, 15, 38, 3 이 있고
현재 초기 헤드 위치는 30이고, 0번 트랙으로 이동한다 잖아요?
그럼 작업순서는
30 - 15 - 7 - 3 - 0 - 38 - 46
이렇게 되는거 아닌가요?
왜냐하면 SCAN 경우는 작업대기에 0번 트랙이 없어도 0번 트랙까지 내려간후
그다음에 올라가는 기법으로 알고 잇는데요....
따라서 정답이 76이 되어야 하는거 아닙니까?
책에 나온 해설에선 0을 빼고 그대로 3에서 38로 작업을 하는걸로 나와잇네요
만약에 책의 해설대로라면
0번 트랙으로 이동한다는 것은 이동 방향을 제시하기 위한 것이고
즉 현재 위치(30)보다 작은 곳으로 이동한다는 것으로서
방향이 확인됐으면, 이제 작업대기에 제시된 값들을 대상으로 이동하는 것인데
그럼 LOOK하고 전혀 차이가 없게 되는데요??
또 LOOK과 SCAN의 정확한 차이점을 설명해주셨으면 합니다.
답변
2012-05-14 10:03:31

안녕하세요.

이 문제와 같이 이동 방향만 제시되고 안쪽과 바깥쪽의 값이 주어지지 않은 경우에는 LOOK과 차이가 없습니다.

단, SCAN 문제에서 조건으로 현재 0번 트랙으로 이동중이면 안쪽은 0 바깥쪽은 100이라는 조건이 제시되면

안쪽 마지막 0까지 진행한 후 반대 방향으로 진행합니다.

LOOK의 경우는 위와 같은 조건이 제시되어도 안쪽 마지막까지 가는 것이 아니라 대상 작업 중 마지막까지만 이동한 후 반대 방향으로 진행하게 됩니다.

즉 안쪽과 바깥쪽의 값이 제시된 경우에는 SCAN은 제시된 방향의 마지막 값까지 처리합니다.

하지만 안쪽과 바깥쪽 값이 제시되지 않고 방향만 제시된 경우에는 SCAN과 LOOK이 차이가 없습니다.

실제 이 문제와 같이 이동 방향만 제시되고 안쪽과 바깥쪽 값이 제시되지 않는 경우도 있다는 것을 참고하세요.

오늘도 즐거운 하루 되세요.

"
  • *
    2012-05-14 10:03:31

    안녕하세요.

    이 문제와 같이 이동 방향만 제시되고 안쪽과 바깥쪽의 값이 주어지지 않은 경우에는 LOOK과 차이가 없습니다.

    단, SCAN 문제에서 조건으로 현재 0번 트랙으로 이동중이면 안쪽은 0 바깥쪽은 100이라는 조건이 제시되면

    안쪽 마지막 0까지 진행한 후 반대 방향으로 진행합니다.

    LOOK의 경우는 위와 같은 조건이 제시되어도 안쪽 마지막까지 가는 것이 아니라 대상 작업 중 마지막까지만 이동한 후 반대 방향으로 진행하게 됩니다.

    즉 안쪽과 바깥쪽의 값이 제시된 경우에는 SCAN은 제시된 방향의 마지막 값까지 처리합니다.

    하지만 안쪽과 바깥쪽 값이 제시되지 않고 방향만 제시된 경우에는 SCAN과 LOOK이 차이가 없습니다.

    실제 이 문제와 같이 이동 방향만 제시되고 안쪽과 바깥쪽 값이 제시되지 않는 경우도 있다는 것을 참고하세요.

    오늘도 즐거운 하루 되세요.

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