일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 알고리즘
- EventEmitter
- 백준
- 라이브러리
- android
- 네이게이션 드로우
- node.js
- databinding
- android list
- navigation
- Java 지네릭스(Generics)에 대하여 알아보겠습니다.
- 자바
- 안드로이드
- recyclerview
- SlidingRootNav
- HTTP
- Today
- Total
목록Algorithm (4)
삽질개발
문제는 다음과 같습니다. 예를 들어 다음과 같이 주어진 상황에서 생각해보겠습니다.hat headgear sunglasses eyewear turban headgear각각 hat,sunglasses,turban 하루하루 한개씩 입는 방법이 3일 존재하며 추가적으로(hat,sunglasses) 혹은 (sunglasses,turban) 2일 입을수있으며 총 5일동안 밖에 돌아다닐 수 있습니다. 그림을 보시면서 좀더 쉽게 이해 할수있습니다.각각 종류마다 n1,n2,n3 가지고 있다면 (n1) x (n2) x (n3)플러스 각각 종류를 입지 않는 경우도 포함 하는 경우의 수 +1 하게되면 (n1+1) x (n2+1) x (n3+1) 마지막에는 모두 입지 않은 경우의수 -1 를 하게되면 답이 나오게 된다. 전체 코..
문제는 다음과 같습니다. 먼저 이 문제를 풀기위해 이항 계수라는걸 알아보고 풀어야 되겠습니다. 다음 링크에서 이항계수에 대해서 확인할수있습니다.https://terms.naver.com/entry.nhn?docId=3338178&cid=47324&categoryId=47324 이후 문제에서 N,K를 항등식으로 나타내게 되면 N!/K!(N-K)! 이 되겠습니다. 즉 예제 입력값으로 본다면5! / 2! * 3! =10 이되겠습니다. 접근방법1. 이항계수 항등식 알기2. 팩토리얼 구현 전체 코드 import java.util.Scanner; public class Main { public static void main(String[] args) {Scanner sc = new Scanner(System.in)..
문제는 다음과 같습니다. 접근방법 문제 예제를 보고 2차원 배열로 접근하였습니다. 여기서 힌트를 언게 되었습니다. 일단 첫번째줄은 가장 처음시작이니 3개의 숫자중 가장 작은수로 접근하면됩니다.두번째줄부터는 각각 각각 숫자로 접근했을때 전의 값들을 유추 해보게 되었습니다. 예를들어 두번째줄의 60의 수에 접근하게될때 전의 값을 유추 해볼때에는 첫번째 26 과 83 둘중 작은값이 되겠습니다.이런 방법으로 2차원 배열을 봤을때for (int i = 1; i < n; i++) {dp[i][0] = Math.min(dp[i - 1][1], dp[i - 1][2]) + list[i][0];dp[i][1] = Math.min(dp[i - 1][0], dp[i - 1][2]) + list[i][1];dp[i][2] =..
문제는 다음과 같습니다. 접근방법 문제의 예제를 보고 2차원 배열로 생각해 보았습니다.여기서 힌트를 얻게 되었습니다.맨 좌측의 (5,1)까지 더한 값을 구하기 위해서는 (1,1)+(2,2)+(3,3)+(4,4)+(5,5) 하나의 방법 뿐입니다.우측 (5,5)오 우측의 값들을 더하는 방법뿐입니다. 여기서 각 2차원배열의 값들을 반복문의 (i,j)로 바꾼다면 좌측은 j가 1로 고정이며 우측은 i와j값이 같게 됩니다.여기서 식을 유추할수 있습니다. if (j == 1) {list[i][j] = list[i - 1][j] + list[i][j];} else if (i == j) {list[i][j] = list[i - 1][j - 1] + list[i][j];} 그럼 이제 좌측과 우측을 제외한 중앙의 값들을 보..