
reset요청 시 원본 배열 그대로 반환shuffle이 요청될 경우, 원본 배열을 복사하여 인덱스마다 랜덤한 인덱스와 교환하여 반환class Solution {
private origin: number[]
constructor(nums: number[]) {
this.origin = nums
}
reset(): number[] {
return this.origin
}
shuffle(): number[] {
const shuffled = [...this.origin]
const len = shuffled.length
for(let i = 0; i < len; i++) {
const j = Math.floor(Math.random() * len);
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
}
return shuffled
}
}