인프런 커뮤니티 질문&답변

태라님의 프로필 이미지
태라

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 2회 코드해석 문제

2023년 2회 킬러문항

해결된 질문

작성

·

208

0

  • 2023년 2회 킬러문항 해설 이해가 안갑니다


    초록색 색연필로 표시했는데
    35분 30초 쯤 해설 중
    1 출력인데 출력값은 2라고 하고 넘어가시더라구요 ..
    이유를 모르겠습니다 ㅠㅠ
    몇 번을 반복해서 들어도 전체적 이해가 안되네요ㅠㅠ

    KakaoTalk_20240703_165103958.jpg

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요, 인덱스하고 실제값을 구분할 필요가 있습니다.

제가 설명한 것처럼 현재 우리가 반환받는 값(return)은 출력 당시에는 1를 가리킵니다.

여기서 1이라는 것은 인덱스(배열의 순서상 1) isWhat[1] 이라는 뜻입니다. 그 뒤에 point는 0으로 갑니다.

배열은 0부터 센다고 앞에서 설명드렸을 것입니다. 배열의 1번째 인덱스는 배열의 두번째 값인 2입니다.

 

강의 상 오른쪽 위에 적어놓은 도표를 보시면 이렇게 되어있습니다.

인덱스: 0 1 2 3 ...
실제값: 5 2 ....

도표의 윗 부분은 인덱스(배열의 순서)로 접근한다는 뜻이고, 아래가 그 숫자로 접근하면 나오는 값이라는 뜻입니다.

 

우리가 배열에서 인덱스와 값은 다르다고 배웠습니다.

예를 들어서 int exampleArray[] = { 3, 4, 5, 6 } 일 때, exampleArray[1]은 뭘까요?

여기서는 4입니다. 인덱스는 0부터 시작하기 때문입니다.

 

현재 문제에서는 isWhat[0] = 5, isWhat[1] = 2 인 상태인 것입니다.

그래서 isWhat[1]을 출력하면 실제 값인 2가 출력됩니다.

 

이해에 도움이 되셨을까요?

 

 

요약) 인덱스는 0부터 시작하기 때문에, 1 인덱스를 출력하라는 것은 실제 배열에서 앞에서 두번째 값을 출력하라는 뜻.

태라님의 프로필 이미지
태라

작성한 질문수

질문하기