하나도 이해가 안가서 그런데 처음부터 설명을 자세하게 해주실수있나요 디버깅표말고 자세한 원리를 좀 가르쳐 주세요.
안녕하세요. 길벗 수험서 운영팀입니다.
해당 문제는 숫자 형식으로 입력된 값을 문자로 변환하여, <처리 조건>의 두번째 부분 처럼 천 단위 콤마(,)를 붙여 출력하는 순서도입니다.
주소값이 0부터 시작하는 배열 A는 <처리 조건>에 따라 아래와 같이 값이 들어 있습니다.
A[0] |
A[1] |
A[2] |
A[3] |
A[4] |
A[5] |
A[6] |
A[7] |
A[8] |
A[9] |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
3456 이 입력되었다고 가정했을 때, 9번~12번 과정을 통해 배열S에 해당 수에 해당하는 문자열 배열A에 있는 값을 넣고 자리수를 하나씩 늘려갑니다.
(별책 191p 순서도의 번호 기준입니다.)
즉, 3456 % 10 = 6, - 1의 자리를 구합니다.
S[0] = A[6], - A[6]에 들어있는 값인 문자열 '6'을 S[0]에 저장
3456 / 10 = 345, - 1의 자리수를 계산했으니 10으로 나눠 다음 자리수를 구할 준비를 합니다.
i = i + 1, - 배열S의 다음 주소값을 지정해야 하니 1을 더해줍니다.
중간중간 6번 조건문을 통해 배열의 4번째 자리에 콤마(,)를 붙여 <처리 조건>을 수행합니다.
이 과정이 마지막까지 가게 되면, 11번을 통해 M은 결국 0이 되어 5번 조건문을 거쳐 13번으로 넘어가게 되는데,14~16번 과정을 거치며 화면에 한자리씩 출력해줍니다.
위 처리과정은 간단히 말하면, 입력받은 숫자를 모두 1의 자리, 10의 자리, 100의 자리 ...... 로 구분하여 배열에서 해당 수에 맞는 문자열을 따와 다른 배열에 천의 자리 기호(,)와 함께 저장한 후, 출력하는 알고리즘이라고 할 수 있습니다.
행복한 하루되세요.^^
-
*2018-08-02 11:46:13
안녕하세요. 길벗 수험서 운영팀입니다.
해당 문제는 숫자 형식으로 입력된 값을 문자로 변환하여, <처리 조건>의 두번째 부분 처럼 천 단위 콤마(,)를 붙여 출력하는 순서도입니다.
주소값이 0부터 시작하는 배열 A는 <처리 조건>에 따라 아래와 같이 값이 들어 있습니다.
A[0]
A[1]
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
0
1
2
3
4
5
6
7
8
9
3456 이 입력되었다고 가정했을 때, 9번~12번 과정을 통해 배열S에 해당 수에 해당하는 문자열 배열A에 있는 값을 넣고 자리수를 하나씩 늘려갑니다.
(별책 191p 순서도의 번호 기준입니다.)
즉, 3456 % 10 = 6, - 1의 자리를 구합니다.
S[0] = A[6], - A[6]에 들어있는 값인 문자열 '6'을 S[0]에 저장
3456 / 10 = 345, - 1의 자리수를 계산했으니 10으로 나눠 다음 자리수를 구할 준비를 합니다.
i = i + 1, - 배열S의 다음 주소값을 지정해야 하니 1을 더해줍니다.
중간중간 6번 조건문을 통해 배열의 4번째 자리에 콤마(,)를 붙여 <처리 조건>을 수행합니다.
이 과정이 마지막까지 가게 되면, 11번을 통해 M은 결국 0이 되어 5번 조건문을 거쳐 13번으로 넘어가게 되는데,14~16번 과정을 거치며 화면에 한자리씩 출력해줍니다.
위 처리과정은 간단히 말하면, 입력받은 숫자를 모두 1의 자리, 10의 자리, 100의 자리 ...... 로 구분하여 배열에서 해당 수에 맞는 문자열을 따와 다른 배열에 천의 자리 기호(,)와 함께 저장한 후, 출력하는 알고리즘이라고 할 수 있습니다.
행복한 하루되세요.^^