반응형
백준 15439번 베라의 패션 (javascript, node.js)
문제
- 백준 15439번 베라의 패션 보러 가기
- 베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다.
- 상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까?
입력
- 입력은 아래와 같이 주어진다.
- N
출력
- 상의와 하의가 서로 다른 색상인 조합의 가짓수를 출력한다.
예제입력 1
1
예제출력 1
0
예제입력 2
2
예제출력 2
2
예제입력 3
5
예제출력 3
20
문제풀이
- 상의와 하의가 서로 다른 색상의 조합 수를 구하면 되는 문제
- 순열에 관한 문제 n 개의 원소에서 r개를 중복 없이 순서에 상관있게 선택하거나 나열하는 것
- 여기서 입력값 n 은 원소이고 r은 2개(다른 색의 상의 하의)
- 서로 다른 n개의 원소에서 r개를 선택하는 순열의 가능한 개수를 기호로 nPr 이라고 하면 n이 5이면 5p2 = 5 _ (5-1) // n = 3 이면 3p2 = 3 _ (3-1) 원소의 개수가 2개라서 n부터 n-1까지 곱하기
// 15439번 베라의 패션
// 같은 N벌의 상하의는 같은 색이다.
// 상의와 하의가 서로 다른 색상의 조합의 수를 구하면 되는 문제
// n=1이면 상하의가 같은 색상이여서 서로다른 색상은 0
// n=2 이면 서로 다른 색상은 1,2 / 2,1 총 2개
// n=3 이면 서로 다른 색상은 1,2 / 1,3 / 2,1 / 2,3 / 3,1 / 3,2 총 6개
// n=4 이면 서로 다른 색상은 4*(4-1) = 12개
// n=5 이면 서로 다른 색상은 5*(5-1) = 20개
// n개 이면 n*(n-1) 개의 서로다른 경우의 수가 나옴
const fs = require("fs");
const file = process.platform === "linux" ? "dev/stdin" : "./text.txt";
const input = fs.readFileSync(file).toString().trim().split(" ");
const n = input.map(Number);
const result = n * (n - 1);
console.log(result);
'Algorithm_javascript > 17. 조합론' 카테고리의 다른 글
# 백준 1010번 다리 놓기 (javascript, node.js) (0) | 2023.07.31 |
---|---|
# 백준 11050번 이항계수1 (javascript, node.js) (0) | 2023.07.30 |
# 백준 10872번 팩토리얼 (javascript, node.js) (0) | 2023.07.30 |
# 백준 24723번 녹색거탑 (javascript, node.js) (0) | 2023.07.30 |