2022/07/23 금요일

Gong Intaek·2022년 9월 23일
0

일상

목록 보기
471/1031
post-thumbnail

오늘 한 일

  • 프로그래머스
    • 위장 (Level 2)
  • 걷기 운동

문제 풀이

위장 (Level 2)Github

최소 한가지 이상의 의상을 착용할때 겹치지 않는 의상 조합의 수를 돌려주는 문제.

풀이 완료?

문제를 풀이하다가 예시는 다맞는데 제시되는 테스트 케이스가 상당수가 틀려서 문제접을 확인하기위해 다른 유저들이 사용한 테스트 케이스를 알아보기위해 질문하기를 훝어보다가 수학적인 방식으로 풀이한것을 보게 되었고, 그이후로는 해시방식의 풀이방식을 생각할수가 없게 되어 수학적인 방식으로 풀이를 마무리 하였다.

문제에서 요구하는 조합의 수는 계수가 해당 파츠의 의상 갯수인 미지수에 1을 더하는 수식을 문제에서 주어지는 파츠의 갯수만큼 곱한것과 같다. 문제에서는 최대 4개의 파츠를 사용하므로 최대 4차 방정식의 형태로 계산이 된다.

파츠내 의상 갯수를 각각 a, b, c 로 지정하면(4개의 경우 수식이 복잡해져서...) 
(a*x+1)*(b*x+1)*(c*x+1)되고 
(abc)x**3 + (ab + bc + ac )x**2 +(a + b + c)x +1
이 되는데 x=1 인 경우 위수식의 합이 조합에 1을 더한 값이 된다.  
조합의 값은 abc [주어진 3개의 파츠를 착용할때의 조합수] + (ab + bc + ac ) [2개의 파츠를 착용할때의 조합수] + ( a + b + c) [1개를 착용할때의 조합수 ]
의 합으로구해진다.

위 방식을 통해 문제 풀이를 마무리하였다. 추후 수식 계산이 아닌 다른 방식을통해 풀이를 진행해봐야겠다.


추후 진행 예정인 작업

  • socket.io 서버로 하는 단순한 멀티 룸 채팅.

  • 위의 결과를 server-side로 구현해보기.

  • firebase 사용법 배우기

  • serverless lambda 학습하기


오늘은...

휴식


진행 중단중인 프로젝트

socket.io - chatapp

홈페이지 만들기

pathfinder(미로 길찾기 게임)

profile
개발자가 되기위해 공부중

0개의 댓글