http://blog.naver.com/PostView.nhn?blogId=humy2833&logNo=140149611946&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 링크
[문제]
-------------------------------------------------------------------------------------------------------------------------------
어떤 프로그램에는 한개의 스택구조로 된 저장공간과, 총 2개의 스레드 A, B 가 있고, 사용자로부터 1~15 사이의 숫자를 입력받는데, 이 입력받은 숫자를 N 이라고 한다. 스레드A 는 저장공간에 1~N 까지의 숫자를 순서대로 담는 역할을 하는데 한번에 1~N개 까지를 담는 역할을 하지만 한번에 담는 개수는 매번 랜덤하다. 스레드B 는 저장공간에 담은 숫자를 1~N개까지 가져오지만 역시 가져오는 개수는 매번 랜덤하다고 가정할때 다음과 같은 입력이 일어났을 경우 모든 경우의 수를 출력하시오. 단 0 이 입력되면 프로그램은 종료한다.
(단 10 이상의 숫자는 16진수로 표현한다. 10 => A, 11 => B, 12 => C, 13 => D, 14 => E, 15 => F)
예) 3 이 입력되었을때 출력 결과
123
132
213
231
321
--------------------------------------------------------------------------------------------------------------------------------
?????????????????????????????????????????
어쩌라는 문제인지 도저희 모르겠어요
첫번째,
[한번에 담는 개수는 매번 랜덤하다.][역시 가져오는 개수는 매번 랜덤하다]의미하는게 뭐죠???
1~n까지라면 n번 push,pop함수가 작동할텐데 랜덤하게 함수 콜된다는 건가????
두번째,
1~3까지에 경우에 수를 구하는 거면 312도 되야 하는건데 , 블로그 글 보니까 스텍을 사용했기에 312는 제외된다는데
스텍에서 값을 꺼내면 넣은순서 마지막 부터 꺼내면 321 하나밖에 안되지 않나요???
검색하다 우연히 찾은건데,
제가 이해력이 떨어지는 걸까요?