평범하게 메모리 존나잡는 중복되지 않는 난수생성후 배열에 집어넣기가 만들기는 젤 편하니까 이거로 해야지 하다가
막상 실제로 돌려보니 진짜 구림....
생각해보니까 그냥 무작위 두 카드를 스왑하는 짓을 여러번하면 결국 같은 효과지 않나 하고 생각하는데
횽들이 추천하는 중복되지않는 난수배열 있음 추천좀 굽실
평범하게 메모리 존나잡는 중복되지 않는 난수생성후 배열에 집어넣기가 만들기는 젤 편하니까 이거로 해야지 하다가
막상 실제로 돌려보니 진짜 구림....
생각해보니까 그냥 무작위 두 카드를 스왑하는 짓을 여러번하면 결국 같은 효과지 않나 하고 생각하는데
횽들이 추천하는 중복되지않는 난수배열 있음 추천좀 굽실
넣고 섞음 되지 random_shuffle
잉 이런게있었네 샹 ㅠㅠㅠㅠㅠㅠㅠㅠ ㄳㄳㅅ
여러번 스왑하는게 맘에 안들면 리스트로 랜덤위치를 한개씩 빼오셈
? 말대로 하는게 아마 더 빠를거야. 프갤에 한번 누가 숫자들 리스트에서 랜덤하게 하나씩 빼오는거 올린적있는데 그게 괜찮을거야
근데 생각해보면 스왑하는게 더 빠를텐데
배열 크기만큼 스왑하는건 가장 간단하게 생각해서 1. 랜덤수 뽑기 2. Temp에 A 옮김 3. A에 B 옮김 4. B에 Temp 옮김 -> 4n이고
리스트는 1. 랜덤수 뽑기 2. 리스트에서 랜덤수만큼 이동 3. 값 새로운 리스트에 추가 4. 기존 리스트에서 값 삭제
어짜피 rand 호출 회수는 비슷하거나 random_shuffle이 많을지 모르겠고 문제는 스왑인데, 누가 올렸던거 그건 남은거중 랜덤하게 하나 뽑고 그자리에 마지막걸 다시 끼워넣는 식이라 빠르겠더라, 내 결론은 어짜피 숫자당 딱 한번씩만 뽑는다면 후자가 빠르다고 생각해. 요소가 많아지면 random_shuffle는 생각보다 오래걸리더라고
아 구렇구나.... ㄳㄳㄳ!
음.. 리스트는 뒤로 갈수록 길이가 짧아져서 검색구간이 줄어든다는 장점이 있군..
찾았다 이거야
http://gall.dcinside.com/board/view/?id=programming&no=367932&page;=
이거보니 예전에 그거 생각나네
자바스크립트였나 for (var i=0; i<array.length; i++) setTimeout(function() { console.log(array[i]); }, array[i]);
아 이거는 랜덤이 아니고 정렬이구나