안녕하세요. 길벗 수험서 운영팀입니다.
hap -= i; 는 "hap = hap - i;"를 의미합니다.
hap += i; 는 "hap = hap + i;"를 의미합니다.
해당 수식의 if(i%4==0)을 볼 때 4의 배수인 경우 hap에서 i를 빼고, 그렇지 않은 경우 i를 더하는 것으로 보여집니다.
또한 i가 2씩 증가하는 것으로 볼 때, i는 2의 배수로 증가하게 되겠죠.
위를 그대로 생각해 보면 i는 2, 4, 6, 8... 이어지며, hap은 +2-4+6-8... 과 같은 수열의 값을 이어갈 것입니다.
위 수열의 값을 볼 때, hap은 디버깅표와 마찬가지로 2, -2, 4, -4, 6의 값이 나오게 되며, 6이 되었을 때 break를 만나 while문을 빠져나오게 됩니다.
정답의 디버깅표를 덮어두시고 직접 코드를 한줄씩 따라가며 디버깅표를 작성해보세요.
변수 값이 변화하는 과정이 한 눈에 들어오지 않으면, 정답의 디버깅표만을 참고하는 것으로는 코드를 정확히 이해하기 어렵습니다.
행복한 하루되세요.^^
-
*2018-09-20 10:13:25
안녕하세요. 길벗 수험서 운영팀입니다.
hap -= i; 는 "hap = hap - i;"를 의미합니다.
hap += i; 는 "hap = hap + i;"를 의미합니다.
해당 수식의 if(i%4==0)을 볼 때 4의 배수인 경우 hap에서 i를 빼고, 그렇지 않은 경우 i를 더하는 것으로 보여집니다.
또한 i가 2씩 증가하는 것으로 볼 때, i는 2의 배수로 증가하게 되겠죠.
위를 그대로 생각해 보면 i는 2, 4, 6, 8... 이어지며, hap은 +2-4+6-8... 과 같은 수열의 값을 이어갈 것입니다.
위 수열의 값을 볼 때, hap은 디버깅표와 마찬가지로 2, -2, 4, -4, 6의 값이 나오게 되며, 6이 되었을 때 break를 만나 while문을 빠져나오게 됩니다.
정답의 디버깅표를 덮어두시고 직접 코드를 한줄씩 따라가며 디버깅표를 작성해보세요.
변수 값이 변화하는 과정이 한 눈에 들어오지 않으면, 정답의 디버깅표만을 참고하는 것으로는 코드를 정확히 이해하기 어렵습니다.
행복한 하루되세요.^^