아래 글 보고 전에 한 뻘짓 써봄


가끔 수열에서 랜덤 추출을 해야 할 경우가 있다. 그러면 보통 인덱스 범위를 잡고 random 헤더의 것을 쓰거나 rand()를 써서 인덱스로 추출하는데 C++17에서는 std::sample이 새로 추가되었다.




대충 타겟 컨테이너 시작, 타겟 끝, 추출한 원소를 넣을 곳 이터레이터나 포인터, 추출 갯수, 난수 방법을 전달하면 된다.


그러면 뽑고 싶은 갯수만큼 귀찮게 rand()를 하지 않아도 되고 인덱스가 겹칠 일도 없으니 아주 편리하다.


성능 - 10124에서 써보았다.




4일 전 제출이 sample을 쓴 코드이다 아 ㅋㅋ 아무래도 원소를 복사하는 게 시간을 잡아먹는 것 같다.


시간이 빡빡하다 싶으면 쓰지 않는 게 좋을 것 같다.