본문 바로가기

순열3

[Softeer] 함께하는 효도 / Java 문제 출처https://softeer.ai/practice/7727 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 풀이완전탐색으로 문제를 풀이해보았습니다.주어진 조건에 따르면 친구의 수가 최대 3 명이고 최대로 이동할 수 있는 횟수가 3 번뿐이기에 모든 경우의 수를 탐색해볼만 하다고 생각했습니다. 따라서 아래와 같은 순서에 따라 코드를 구성하였습니다.1. 순열(Permutation)로 각 친구가 움직일 수 있는 모든 경로(Route)를 구한다.2. 조합(Combination)으로 각 친구가 어떤 경로를 선택했는지에 대한 모든 경우의 수를 탐색하며 최대 수확량을 구한다. 추가적인 설명은 코드 내의 주석으로 작성하였습니다.Java Codeimport java.io.*;import .. 2024. 6. 11.
[Math] 순열(Permutation) / Java 순열(順列) 순서를 고려해 나열한 경우의 수. 즉, 서로 다른 n개 중 r개를 골라 순서를 정해 나열하는 경우의 수(nPr)를 의미합니다. 예를 들어, 다섯 명의 학생 중 반장 1명과 부반장 1명을 뽑는 경우의 수를 구하는 것이 순열에 해당한다고 볼 수 있습니다. 공식은 다음과 같습니다. 구현 주어진 수의 배열이 1, 2, 3일 때 두 개를 뽑는 순열의 경우의 수를 출력하는 코드입니다. 구현 방식은 두 가지입니다. 재귀와 방문배열을 활용한 방식 비트마스킹을 활용한 방식 // 순열(nPr) - n개의 값 중 r개를 순서대로 뽑는 경우의 수 public class Permutation { static int[] arr = {1, 2, 3}; static int n = arr.length; // 주어진 수의 .. 2023. 8. 13.
순열(Permutation) 순열(Permutation) 서로 다른 n개 중 r개를 순서 있게 배열하는 경우의 수 (중복 X) 중복 순열 서로 다른 n개 중 r개를 순서 있게 배열하는 경우의 수 (중복 O) 원 순열 서로 다른 n개를 원형으로 배치하는 경우의 수 ex) 원 모양의 테이블에 각자 이웃하는 사람의 구성이 다른 모든 경우의 수. 회전시켜서 같은 경우는 하나의 경우로 여김 코드(Java) public class Main { public static void main(String[] args) { int n = 6; int r = 3; // 순열 int p1 = 1; for (int i = n; i >= n - r + 1 ; i--) { p1 *= i; } // 중복 순열 int p2 = 1; for (int i = 0; i.. 2023. 1. 9.