이 알고리즘이 전체적으로 이해가 가지 않습니다
1번에 답이 i 인가요 i+1인가요?
M이 무엇을 의미하는 것인가요?
M이 "입력값이 저장되는 변수"라고 되어있는데 그렇다면 처음 M의 값은 0이 아닌가요?
그렇게 된다면 마름모에서 분기선택은 YES가 될것이고 그렇게되면 바로 END 아닌가요?
그리고 배열 A는 0부터 9까지로 초기화 되어있는데
그렇다면 출력될떄 0123,456,789가 출력되어야 되는게 아닌가요?
103P 해설을 보니 디버깅결과는 1,234가 출력되네요
이것도 잘 이해가 안갑니다
그러고보니 디버깅 결과에서도 M의 제일 초기값이 0이네요
디버깅결과에서
M이 0에서
1234
123
12
1
0
이렇게 변하는것도 이해가 안갑니다
지금 제 질문을보면 제일 처음 M값이 무엇이 입력되는지 몰라서 발생하는 문제같습니다
제일 처음 입력되는 M값이 무엇인가요?
5월 7일 국방부 정보처리기능사 실기 시험 치는데요 이번부안으로 답변 부탁드립니다
이 알고리즘 전체적으로 설명해 주셨으면 감사하겠습니다 다른건 다 풀겠는데 이건 이해가 안가네요..
안녕하세요.
1234가 입력된 경우 1,234로 출력하는 알고리즘입니다. 즉 천단위 마다 콤마(,)를 표시하는 것이죠.
M을 4로 나눠 나머지가 0인 경우가 콤마(,)가 표시될 위치가 됩니다.
하지만 시작부터 나머지가 0이라서 배열의 첫번째 위치에 콤마(,)가 기억됩니다.
배열의 위치는 0부터 시작합니다. 여기서 중요한 함정이 있죠.
1234가 입력되었다면 뒤에서부터 처리를 시작해 배열에
,432,1이 기억됩니다.
그리고 나서 출력을 할때는 배열의 위치가 뒤에서부터 1이 될때까지 출력을 합니다.
즉 1,234까지만 출력을 하고 마지막의 콤마(,)는 출력하지 않습니다. 배열의 위치가 0이 아니라 1일때까지만 출력을 하니까요.
결국 첫번째 콤마(,)가 저장되는 것은 의미적으로 저장하는 것으로 출력에서는 제외됩니다.
위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.
그래도 잘 이해되지 않으시면, 문제의 전체적인 흐름을 설명드려야 하는데, 서면보다는 전화를 설명드리는 것이 빠르고 효과적일 것 같습니다.
전화(02-323-0922) 주시면 자세하게 설명드리겠습니다.
오늘도 즐거운 하루 되세요.
오늘도 즐거운 하루 되세요.
-
*2011-05-02 09:38:43
안녕하세요.
1234가 입력된 경우 1,234로 출력하는 알고리즘입니다. 즉 천단위 마다 콤마(,)를 표시하는 것이죠.
M을 4로 나눠 나머지가 0인 경우가 콤마(,)가 표시될 위치가 됩니다.
하지만 시작부터 나머지가 0이라서 배열의 첫번째 위치에 콤마(,)가 기억됩니다.
배열의 위치는 0부터 시작합니다. 여기서 중요한 함정이 있죠.
1234가 입력되었다면 뒤에서부터 처리를 시작해 배열에
,432,1이 기억됩니다.
그리고 나서 출력을 할때는 배열의 위치가 뒤에서부터 1이 될때까지 출력을 합니다.
즉 1,234까지만 출력을 하고 마지막의 콤마(,)는 출력하지 않습니다. 배열의 위치가 0이 아니라 1일때까지만 출력을 하니까요.
결국 첫번째 콤마(,)가 저장되는 것은 의미적으로 저장하는 것으로 출력에서는 제외됩니다.
위 내용을 염두에 두고 다시한번 디버깅을 수행해 보세요.
그래도 잘 이해되지 않으시면, 문제의 전체적인 흐름을 설명드려야 하는데, 서면보다는 전화를 설명드리는 것이 빠르고 효과적일 것 같습니다.
전화(02-323-0922) 주시면 자세하게 설명드리겠습니다.오늘도 즐거운 하루 되세요.
"
오늘도 즐거운 하루 되세요.