책 내용 질문하기
2권 249p 예상문제은행 문제 47번 정답 및 350p 문제풀이해설 다시한번 확인 부탁 드립니다.
도서
2024 시나공 정보처리기사 필기 기본서
페이지
249,350
조회수
424
작성일
2024-04-06
작성자
고*신
첨부파일

예상문제 47번에 경우 토막강의번호 : 1431048를 확인했을 때 과거 시험문제 변형해서 내신 문제 같은데 일단 책과 토막강의 문제가 동일하지 않는 부분이 있고,

 

강의에서는

0 1 2 3 4

1 2 3 4 5

2 3 4 5 6

 

[i] : i++ 할때마다 값이 1씩 증가

[j] : j++ 의 경우에도 값이 1씩 증가하나

 

책의 경우

3 2 1 0

4 3 2 1

5 4 3 2

 

[i] : i++ 일 경우 1씩 증가

[j] : j++ 의 경우에는 1씩 감소하는 유형인데

 

문제 정답 a[i][j] = i+j ; 가 성립되지 않아 보이는데 해설과 정답 모두 잘못되어 보입니다.

 

<코드>

for(int i = 0; 1 < 3; i++) {

for(int j = 3; i >= 0; j--) { → for(int j = 0; i <=3; j++) { 가 되어야 하지 않나 생각합니다.

a[i][j] = i+j ; → 성립 되려면 ↑

 

확인하시어 정답에 이상없는지와 있다면 해설과 정답 정오표 작성 부탁 드립니다.

 

 

 

답변
2024-04-07 21:00:34

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

 

회원님께서 말씀하신 교재의 문제와 해당 강의를 확인해 봤는데 교재의 코드와 강의 모두 잘못된 부분은 없습니다.

 

회원님께서 "일단 책과 토막강의 문제가 동일하지 않는 부분이 있고~~" 라고 표현을 하셨는데  교재와 강의는 모두 일치합니다

 

교재의 해설을 보면 i가 0일때 j의 값은 3, 2, 1, 0, -1로 변하면서 "a[i][j] = i+j" 코드를 만나 

 

강의에서 설명한것과 동일하게 0행 3열에 3, 0행 2열에 2, 0행 1열에 1, 0행 0열에 0 이렇게 값들이 들어갑니다 

 

 

 

 

a라는 배열에 출력형태처럼 값을 모두 넣은후 해당 배열을 한꺼번에 출력하는것이 아니라 

 

a배열에 값을 넣으면서 해당 값들을 바로 바로 출력하는 문제로 

 

배열에 들어가는 값과 출력형태가 같지 않아도 되는 문제입니다.

 

 

어떤 문제를 풀던 한가지 방법만 있는것이 아니라 여러가지 방법이 있을수 있지만

 

문제에서 제시된 두개의 for문이 있는데 회원님께서 말씀하신것처럼 

 

두번째 for문을  for(int j = 0; i <=3; j++) 이렇게 변경하면 



for(int i = 0; 1 < 3; i++) {

for(int j = 0; i <=3; j++) {

a[i][j] = i+j ;


첫번째 for에서 처음에 i가 0의 값을 가지고 두번째 for문으로 내려옵니다


이때 두번째 for문은 j가 0부터 시작하여 최종값이 될때까지 j++를 만나 계속 1씩증가 될것입니다.

 

헌데  최종값이 i<=3 이기 때문에 두번째종료가 되지 않고 j값이 계속하여 1씩증가하며 반복이 되어 오류가 발생합니다

 

 

 

 

 

열심히 연습하셔서 합격하시길 기원하겠습니다.
 

행복한 하루되세요 :)

  • 관리자
    2024-04-07 21:00:34

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

     

    회원님께서 말씀하신 교재의 문제와 해당 강의를 확인해 봤는데 교재의 코드와 강의 모두 잘못된 부분은 없습니다.

     

    회원님께서 "일단 책과 토막강의 문제가 동일하지 않는 부분이 있고~~" 라고 표현을 하셨는데  교재와 강의는 모두 일치합니다

     

    교재의 해설을 보면 i가 0일때 j의 값은 3, 2, 1, 0, -1로 변하면서 "a[i][j] = i+j" 코드를 만나 

     

    강의에서 설명한것과 동일하게 0행 3열에 3, 0행 2열에 2, 0행 1열에 1, 0행 0열에 0 이렇게 값들이 들어갑니다 

     

     

     

     

    a라는 배열에 출력형태처럼 값을 모두 넣은후 해당 배열을 한꺼번에 출력하는것이 아니라 

     

    a배열에 값을 넣으면서 해당 값들을 바로 바로 출력하는 문제로 

     

    배열에 들어가는 값과 출력형태가 같지 않아도 되는 문제입니다.

     

     

    어떤 문제를 풀던 한가지 방법만 있는것이 아니라 여러가지 방법이 있을수 있지만

     

    문제에서 제시된 두개의 for문이 있는데 회원님께서 말씀하신것처럼 

     

    두번째 for문을  for(int j = 0; i <=3; j++) 이렇게 변경하면 



    for(int i = 0; 1 < 3; i++) {

    for(int j = 0; i <=3; j++) {

    a[i][j] = i+j ;


    첫번째 for에서 처음에 i가 0의 값을 가지고 두번째 for문으로 내려옵니다


    이때 두번째 for문은 j가 0부터 시작하여 최종값이 될때까지 j++를 만나 계속 1씩증가 될것입니다.

     

    헌데  최종값이 i<=3 이기 때문에 두번째종료가 되지 않고 j값이 계속하여 1씩증가하며 반복이 되어 오류가 발생합니다

     

     

     

     

     

    열심히 연습하셔서 합격하시길 기원하겠습니다.
     

    행복한 하루되세요 :)

  • 관리자
    2024-04-09 18:23:08

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

     

    홈페이지의 강의는 다시 한번 점검하여 교재와 일치하지 않는 부분이 있으면 일치시키도록 하겠습니다

     

    공부하실때 불편하시더라도 되도록이면 QR코드 경로로 들어가 보시기 바랍니다 

     

    열심히 연습하셔서 합격하시길 기원하겠습니다.
     

    행복한 하루되세요 :)

  • *
    2024-04-08 19:50:26

     

     

    교재에 QR 경로로 들어가면 말씀하신대로 올바른 강의가 나오는데

     

    홈페이지 - 정보처리기사 실기 기본서 경로에 동일한 강의번호로 들어가면 비슷한 문제유형에 다른문제 해설이 첨부되어 있는 것 같습니다.

    (홈페이지에는 업데이트?가 잘못?되어 있는 것 같습니다.)

     

    문제는 제가 혼동한게 맞는 것 같아 다시 한번 해설을 잘 보도록 하겠습니다. 죄송합니다!

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