연권
달콘박스
연권
전체 방문자
오늘
어제
  • 전체 (308)
    • Web (22)
      • JavaScript (8)
      • TypeScript (2)
      • Node.js (8)
      • HTML (0)
      • CSS (0)
      • Network (1)
      • Browser (0)
      • Patterns (3)
    • Framwork (4)
      • Vue.js (3)
      • Electron (1)
    • Infra&DevOps (1)
    • Algorithm (246)
    • Database (16)
    • Review (15)
    • Test (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • 스택
  • 진법
  • 백준ㅇ
  • 정렬
  • 알고리즘
  • sql
  • BFS
  • 백준
  • java
  • 진수
  • 재귀
  • 백트레킹
  • typescript
  • 코딩테스트 연습
  • DP
  • 프로그래머스
  • 문자열
  • 동적계획법
  • MySQL

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
연권

달콘박스

Algorithm

알고스팟 소풍 [ TypeScript, JavaScript ]

2022. 1. 4. 00:10
반응형

문제


문제 코드: PICNIC

 

 

algospot.com :: PICNIC

소풍 문제 정보 문제 안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로

www.algospot.com

 

풀이과정


모든 경우의 수를 탐색하여 짝을 짓는 방법을 찾습니다.

 
areFriends[a][b]: a번째 학생과 b번째 학생이 친구 관계인지 확인합니다.
a와 b가 친구면 b, a도 친구이기 때문에 areFriends[a][b]==areFriends[b][a]입니다.

 

 
taken[n] : n번째 친구 기준으로 짝을 짓기 시작합니다. true가 되면 짝이 지어진 상태가 됩니다.
a, b가 짝이 지어지면 taken[a] = taken[b] = true가 됩니다.
 
 
 
ret += countPairings(taken); 재귀가 반복되면서 한가지 방법을 찾을때마다 1씩 더해집니다.
 
 

if (firstFree === -1) return 1; 기준이 되는 taken이 모두 채워지면 재귀의 끝에 도달했기 때문에 경우 1개가 추가되며 return 됩니다.

 
 

코드


TypeScript

 

 

 

 

JavaScript

 

 

 

 

반응형
저작자표시 동일조건 (새창열림)

'Algorithm' 카테고리의 다른 글

알고스팟 게임판 덮기 [ TypeScript, JavaScript ]  (0) 2022.01.11
알고스팟 Hello World! [ TypeScript, JavaScript ]  (0) 2021.12.25
프로그래머스 코딩테스트 연습 Level1 - 문자열 내 p와 y의 개수 [ javascript ]  (0) 2021.09.13
프로그래머스 코딩테스트 연습 Level1 - 약수의 개수와 덧셈 [ javascript ]  (0) 2021.09.13
프로그래머스 코딩테스트 연습 Level1 - 실패율 [ javascript ]  (0) 2021.09.11
    'Algorithm' 카테고리의 다른 글
    • 알고스팟 게임판 덮기 [ TypeScript, JavaScript ]
    • 알고스팟 Hello World! [ TypeScript, JavaScript ]
    • 프로그래머스 코딩테스트 연습 Level1 - 문자열 내 p와 y의 개수 [ javascript ]
    • 프로그래머스 코딩테스트 연습 Level1 - 약수의 개수와 덧셈 [ javascript ]
    연권
    연권

    티스토리툴바