combination

    [Java] 백준 18809 (Gaaaaaaaaaarden) Gold 2

    Problem : https://www.acmicpc.net/problem/18809 Approach 조합을 이용한 BruteForce 와 BFS + 구현 이 필요한 문제이다. 천천히 생각하고 필요한 부분을 캡슐화하여 메소드를 작성하면 된다. 코드에 사용된 변수 설명은 다음과 같다. availableLands: 배양액을 뿌릴 수 있는 Land를 저장한 리스트 selectedAvailableLands: availableLands에서 g + r개의 Land 를 뽑는 조합에 이용할 boolean 배열 selectedLands: 배양액을 뿌릴 곳으로 선택된 g + r 크기의 배열 selectedGreen: selectedLands 중 초록색 배양액을 뿌릴 곳으로 선택한 boolean 배열 time: 해당 영역에..

    [Java] 백준 16938 (캠프 준비) Gold 4

    Problem : https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net Approach 조합(Combination)을 이용한 BruteForce(완전탐색)문제이다. 입력의 크기가 최대 15로 비교적 작으므로 가능한 풀이이다. 캠프에 사용할 문제를 고르는 전체 방법의 수는 nC2 + nC3 + ... + nCn이다. 이렇게 나온 결과 조합의 숫자들을 검증해주면 된다. 배열 요소의 총합, 최댓값, 최솟값은 Stream을 사용하여 간결한 코드로 구할 수 있다. Code import java.io.*; import java.util.Arrays; import java...

    [Java] 백준 1062 (가르침) Gold 4

    Problem : https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net Approach 조합(Combination)을 이용한 완전탐색(BruteForce)문제이다. 처음에는 조합을 list로 구현하였으나, 시간초과를 받았다. 그래서 총 알파벳의 개수인 26 크기의 배열을 가지고 사용 여부를 체크하며 조합을 구성하였다. 조합을 구현하기 전에 입력에 따라 간단히 처리할 수 있는 부분들을 짚어보자. N은 주어진 단어의 개수, K개 만큼 문자를 배울..