01 - RockPaperScissors

코드위의승부사·2019년 10월 24일
0

TIS(Today I Solved)

목록 보기
1/6

문제설명

가위바위보게임을 3번 진행했을경우 한 플레이어가 갖는 경우의 수를 리턴해주는 함수를 만들어라.

입출력 예)

rockPaperScissors(3) // => [['rock','rock','rock'], etc...]

Advanced
특정 수가 들어가면 그 수에 해당되는 경우의 수를 리턴해줘라.

rockPaperScissors(5) // => [['rock','rock','rock','rock','rock'], etc...]

문제접근

특정 요소들의 집합의 경우의 수를 구하는 문제입니다.
rock, paper, scissors의 반복문을 이용하거나 재귀를 이용하면 좋을것 같습니다.
인풋의 숫자만큼 경우의수들을 배열에 담아서 리턴해줘야합니다.

해결방안

먼저 가위 바위 보를 담는 배열을 만들어줍니다.

var rockPaperScissors = function (num) {
  // TODO: your solution here
  const answer = [];
  const rps = ['rock', 'paper', 'scissors'];
  const count = 0;
  const check = [];
  while(count < num){
        check.push(rps[count])
  }
};

관련내용

순열과 조합

순서를 따지느냐? 안따지느냐?
중복을 허락하느냐? 안하느냐?

기본 순열 : 8가지 아이템 중 3가지를 선택해서 배열하는 방법의 수는?(순서 O, 중복 불허)

중복순열

기본조합 : 8가 아이템중 3가지를 선택하는 방법의 수는?(순서 X, 중복 불허)

위의 문제의 경우, 순서는 상관없고 중복도 허용하기 때문에 중복조합의 문제 같다.

회고

while문을 써서 푸쉬할 조합의 렝스를 맞추고 푸쉬해주는 식으로 해결을 하면 될것 같은데 조금 부족하다.


Reference

profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글