목록Combination (4)
Dino Rudy
조합 2차원 배열에서 R개의 원소를 뽑는 조합입니다. 기본적인 방법은 조합과 유사하지만 뽑고자하는 원소의 행과 열을 뽑는 방법으로 나누기와 모듈러 연산을 사용합니다. import java.util.Arrays; //2차원 배열에서 조합! public class Combination2 { static int [][] arr; static int [][]selected; static int N,M,R; static public void makeCombination(int cnt, int start) { if(cnt==R) { System.out.println(Arrays.deepToString(selected)); }else { for(int i=start;i
조합 알고리즘 문제풀이를 하다 보면 조합을 구해야 하는 경우가 많습니다. 대표적으로 BruteForce 문제 같은 경우, 여러 가지 경우를 시도해야 하는데 이때 조합, 중복조합, 순열, 중복순열, 부분집합 등이 쓰일 때가 많습니다. Python이나 C++ 같은 경우 라이브러리가 제공되지만 JAVA 같은 경우 내부 라이브러리에서 조합과 순열 등을 제공하지 않고 구글? 에서 제공하는 라이브러리를 이용하면 된다고 들었습니다. 하지만! 구현이 그렇게 어려운 것도 아니고 라이브러리에 의존하지 않는 게 좋다고 들어서 배우고 공부한 내용을 토대로 구현을 해보았습니다. import java.util.Arrays; public class Combination { static int [] selected; static i..

캐슬 디펜스 17135번 - solved.ac 골드 4 티어 https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 문제 해석 캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임입니다. 궁수는 총 3명을 배치하고 궁수는 최대 사거리 안에 있는 자신과 가장 가까운 적을 죽입니다. 이때 거리가 최소인 적이 2명 이상 있을 시 가장 왼쪽을 타겟으로 공격을 합니다 같은 적이 여러 궁수에게 공격 당할 수 있습니다. 핵심 포인트는 궁수의 위치이며 궁수의 공격으로 ..

치킨 배달 15686번 - solved.ac 골드 5 티어 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 해석 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. N x N 지..