누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 안드로이드
  • 자바 Priority Queue
  • 클라우드 컴퓨팅
  • 백준 자바 수열
  • 백준 자바 다이나믹 프로그래밍
  • 안드로이드 디자인
  • 코틀린 runBlocking
  • 코틀린 인 액션
  • 코틀린
  • 알고리즘 조합
  • 백준 자바 2292번
  • 백준 자바 누적합
  • 자료구조
  • 클라우드
  • Room Migration
  • 백준 자바 벌집
  • 백준 자바
  • Room version 올리기
  • 백준 자바 정렬
  • 백준 자바 2559번

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

알고리즘

조합

2023. 2. 14. 22:47

조합

  • n개의 원소를 가진 임의의 집합에서 순서가 없이 r개를 선택하는 것
  • 구현 아이디어
    • 하나의 원소를 선택 vs 하나의 원소를 선택하지 않음
      • 선택하는 경우 : n개의 원소 중에서 1개를 뽑는다고 생각 → r-1개를 뽑는다.
      • 선택하지 않는 경우 : n개의 원소 중에서 1개를 뽑지 않는다고 생각 → r개를 뽑는다.

구현

  • 조합의 경우의 수 구하기
public class Combination{

    static int combination(int n, int r){
        if(n==r || r==0)
            return 1;
        return combination(n-1, r-1) + combination(n-1, r);
    }

}
  • 조합으로 나온 원소 구하기
static void combination(int[] list, boolean[] visited, int depth, int n, int r){
    if(r==0){
        return;
    }
    if(depth == n) {
        return;
    }
    else{
        //원소로 선택
        visited[depth] = true;
        combination(list, visited, depth+1, n , r-1);

        //원소로 선택 X
        visited[depth] = false;
        combination(list, visited, depth+1, n, r);
    }
}

'알고리즘' 카테고리의 다른 글

브루트 포스  (0) 2023.07.04
임시변수 없이 변수 바꾸기  (0) 2023.01.21
    '알고리즘' 카테고리의 다른 글
    • 브루트 포스
    • 임시변수 없이 변수 바꾸기
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바