오늘배운내용 정리

중복 순열
function rockPaperScissors (round) {
// TODO: 여기에 코드를 작성합니다.
round = round || 3;
let RPS = ['rock','paper','scissors' ]
let result = []
function permutate(RPS,basket,round){
if(round === 0){
result.push(basket)
return
}
for(let i = 0; i < RPS.length; i++){
let currentPlay = RPS[i];
permutate(RPS,basket.concat(currentPlay),round-1)
}
}
permutate(RPS,[],round)
return result
};
재귀로 수열을 만드는 방법을 배웠다.
재귀로 for문으로 진입하면서
for(let i = 0; i < RPS.length; i++){
let currentPlay = RPS[i];
permutate(RPS,basket.concat(currentPlay),round-1)
}
이부분에서 i=0일때 for문을 round(사람수만큼 돌린다)
if(round === 0){
result.push(basket)
return
}
재귀탈출조건은 위와같다
이런식으로 재귀를 돌다보면 중복수열을 완성시킬수있다