| clockmaker |
일단 질문이 하나 있는데요.. number 배열은 30개나 선언하셨는데 입력은 10번밖에 안 받는 이유가 뭔가요??
구현은.. 입력 받는 숫자의 범위를 알고 있는 건가요?
입력받는 숫자의 최대값이 N이라고 가정할게요. 그럼 iter[N] 배열을 만드세요.
이 배열 각각이 지정하는 것은, 어떤 숫자가 몇 번 들어있냐..입니다.
글쓴분 입장에서는 6이 2번이었으니 iter[6] 가 2가 되는 상황인 거죠.
맨 처음, 아직 숫자를 세 보기 전엔 전부 0개씩 있겠죠? 아직 안 셌으니까요.
그러니 모든 iter[N]은 0으로 초기화 하시고요, 이제 number배열에 있는 숫자를 하나씩 읽고, 각 숫자에 맞는 iter[]을 1씩 증가시키는 루프를 만들어서 돌리시면 루프가 끝난 뒤에는 각각의 숫자에 대한 iter[]가 각각 넣어준 횟수만큼 증가되어 있겠죠?
일단 저는 이 정도밖에 생각이 안 나는데.. N이 커질수록 코드가 바보같아 보인다는 단점이 있습니다ㅋㅋ;;
물론, 숫자 6만 세는 거라면, 그냥 iter라는 int형 변수를 선언하셔서 number가 6일 때마다 1씩 증가시켜주시면 됩니다 ㅇ_ㅇ |
2011/04/17 |
|