답은 맞았는데 디버깅표를 보고 의아해서 이게 어떻게 이렇게 나오지 하다가
답변을 보고 가로로 대응시키면 안되는 것을 알았습니다. 근데 위 링크에서
참고로 회원님이 문의하신 것처럼 각 변수의 가로 위치를 맞춰 디버깅을 수행하면 다음과 같습니다.
i | hap | 출력 |
10 9 8 7 6 5 4 3 2 1 | 0
7
11
12 | 12 |
이렇게 써주셨는데 이것도 잘못된 것이 아닌가요?...
아래 설명으로 보면 아이가 8로 들어갈때 hap값이 7로 누적된다고 설명해주셨는데
그럼 이렇게 되야 맞는게 아닌가요?
i | 누적hap |
10 | 0 |
9 | 0 |
8 | 7 |
7 | 7 |
6 | 7 |
5 | 11 |
4 | 11 |
3 | 11 |
2 | 12 |
아무리 봐도 이해가 가지 않아서 질문드립니다. 만약 위에 디버깅표가 틀렸다면
어느부분에서 틀렸는지 알려주세요...
안녕하세요 길벗수험서 운영팀입니다.
음.. 디버깅표의 작성방법은 작성하는 본인의 편의를 위한 것이라 명확한 작성방법은 없습니다.
단순히 값의 변화만 정확히 기록하였고, 큰 이탈만 없다면 정상적으로 작성된 디버깅표라고 볼 수 있습니다.
다만 회원님의 디버깅표에서는 i가 마지막에 1로 변화하는 과정이 누락되었네요.
제가 작성한 디버깅표는 while문의 한 번의 회전에서 발생하는 변화값을 하나의 열에 기록한 것입니다.
하나의 회전은 475쪽 문제4번 해설의
3~5번을 의미합니다.
초기값으로 i 10, hap 0이 주어지고,(i 10, hap 0)
1회전에 i--를 수행하고, if는 수행하지 않습니다. (i 9)
2회전에 i--를 수행하고, if는 수행하지 않습니다. (i 8)
3회전에 i--를 수행하고, if를 수행합니다. (i 7, hap 7)
4회전에 i--를 수행하고, if는 수행하지 않습니다. (i 6)
5회전에 i--를 수행하고, if는 수행하지 않습니다. (i 5)
6회전에 i--를 수행하고, if를 수행합니다. (i 4, hap 11)
7회전에 i--를 수행하고, if는 수행하지 않습니다. (i 3)
8회전에 i--를 수행하고, if는 수행하지 않습니다. (i 2)
9회전에 i--를 수행하고, if를 수행합니다. (i 1, hap 12)
위와 같은 과정을 통해서 아래와 같은 디버깅표가 완성됩니다.
i | hap |
10 | 0 |
9 | |
8 | |
7 | 7 |
6 | |
5 | |
4 | 11 |
3 | |
2 | |
1 | 12 |
행복한 하루되세요 :)
-
관리자2019-08-06 10:29:18
안녕하세요 길벗수험서 운영팀입니다.
음.. 디버깅표의 작성방법은 작성하는 본인의 편의를 위한 것이라 명확한 작성방법은 없습니다.
단순히 값의 변화만 정확히 기록하였고, 큰 이탈만 없다면 정상적으로 작성된 디버깅표라고 볼 수 있습니다.
다만 회원님의 디버깅표에서는 i가 마지막에 1로 변화하는 과정이 누락되었네요.
제가 작성한 디버깅표는 while문의 한 번의 회전에서 발생하는 변화값을 하나의 열에 기록한 것입니다.
하나의 회전은 475쪽 문제4번 해설의
3~5번을 의미합니다.
초기값으로 i 10, hap 0이 주어지고,(i 10, hap 0)
1회전에 i--를 수행하고, if는 수행하지 않습니다. (i 9)
2회전에 i--를 수행하고, if는 수행하지 않습니다. (i 8)
3회전에 i--를 수행하고, if를 수행합니다. (i 7, hap 7)
4회전에 i--를 수행하고, if는 수행하지 않습니다. (i 6)
5회전에 i--를 수행하고, if는 수행하지 않습니다. (i 5)
6회전에 i--를 수행하고, if를 수행합니다. (i 4, hap 11)
7회전에 i--를 수행하고, if는 수행하지 않습니다. (i 3)
8회전에 i--를 수행하고, if는 수행하지 않습니다. (i 2)
9회전에 i--를 수행하고, if를 수행합니다. (i 1, hap 12)
위와 같은 과정을 통해서 아래와 같은 디버깅표가 완성됩니다.
i
hap
10
0
9
8
7
7
6
5
4
11
3
2
1
12
행복한 하루되세요 :)