본문 바로가기

Java/Java

[Java] 1. 알고리즘 다시풀기

반응형

https://and-some.tistory.com/631

 

[Ch.07 - Recursive] 04. 피보나치 수열 (+메모이제이션)

4. 피보나치 수열 설명 1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다. 2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2

and-some.tistory.com

 

https://and-some.tistory.com/533?category=836999 

 

[Ch.02 - Array] 05. 소수(에라토스테네스 체) #

5. 소수(에라토스테네스 체) 설명 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입

and-some.tistory.com

 

https://and-some.tistory.com/537

 

[Ch.02 - Array] 09. 격자판 최대합 (+ list, Math.max) #

9. 격자판 최대합 설명 5*5 격자판에 아래롸 같이 숫자가 적혀있습니다. N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다. 입력 첫 줄에 자연수 N이 주

and-some.tistory.com

 

https://and-some.tistory.com/516?category=836999 

 

[Ch.03 - 투 포인터] 6. 최대 길이 연속부분수열 #

6. 최대 길이 연속 부분수열 0과 1로 구성된 길이가 N인 수열에서, 최대 k번 변경가능한데, 0을 1로 변경가능 최대 k번의 변경을 통해 1로만 구성된 최대 길이의 연속부분수열 출력 입력값 14, 2 1 1 0

and-some.tistory.com

https://and-some.tistory.com/591

 

[Ch.04 - HashTree] 05. K번째 큰 수 #

5. K번째 큰 수 설명 현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다. 현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을

and-some.tistory.com

https://and-some.tistory.com/647

 

[Ch.08 - DFS] 03. 합이 같은 부분집합

1. 합이 같은 부분집합(DFS : 아마존 인터뷰) 설명 N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재

and-some.tistory.com

https://and-some.tistory.com/663

 

[Ch.10 - DP] 06. 최대점수 구하기 [+냅색 알고리즘]

6. 최대점수 구하기(냅색 알고리즘) 설명 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸

and-some.tistory.com

https://and-some.tistory.com/662

 

[Ch.10 - DP] 05. 동전교환 [+냅색 알고리즘]

5. 동전교환(냅색 알고리즘) 냅색 알고리즘 : 담을 수 있는 무게가 정해진 백팩에 가장 비싼 금액의 물건으로 채우는 알고리즘 설명 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을

and-some.tistory.com

https://and-some.tistory.com/651

 

[Ch.08 - DFS] 07. 동전교환 #

5. 동전교환 -> 냅색 알고리즘으로 풀기 https://and-some.tistory.com/662 [Ch.10 - DP] 05. 동전교환 [+냅색 알고리즘] 5. 동전교환(냅색 알고리즘) 냅색 알고리즘 : 담을 수 있는 무게가 정해진 백팩에 가장 비.

and-some.tistory.com

 

 

 

 

다항식의 계수를 이용

https://and-some.tistory.com/653

 

[Ch.08 - DFS] 09. 조합의 경우수(메모이제이션)

7. 조합의 경우수(메모이제이션) 설명 로 계산합니다. 하지만 여러분은 이 공식을 쓰지않고 다음 공식을 사용하여 재귀를 이용해 조합수를 구해주는 프로그램을 작성하세요. 입력 첫째 줄에 자

and-some.tistory.com

 

https://and-some.tistory.com/654?category=836999 

 

[Ch.08 - DFS] 10. 수열 추측하기 #

8. 수열 추측하기 설명 가장 윗줄에 1부터 N까지의 숫자가 한 개씩 적혀 있다. 그리고 둘째 줄부터 차례대로 파스칼의 삼각형처럼 위의 두개를 더한 값이 저장되게 된다. 예를 들어 N이 4 이고 가

and-some.tistory.com

 

 

 

//조합 구하는 함수
static int[][] dy = new int[35][35];
static void combi(int n, int r){
	if(dy[n][r]>0) return dy[n][r];
    else{
    	if(n==r||r==0) return 1;
        else{
        	return dy[n][r]=combi(n-1,r)+combi(n-1,r-1);
        }
    }
}

 

DFS는 재귀를 이용한 풀이로 기본 함수는 DFS(int L, int sum)이다.

BFS는 최소 날짜, 최소 거리 이며 큐를 이용한 풀이

https://and-some.tistory.com/656

 

[Ch.08 - BFS] 04. 토마토

12. 토마토(BFS 활용) 설명 현수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보

and-some.tistory.com

 

DFS로, 확인한 섬나라는 0으로 변경하는데,

섬 나라 추가후 -> 그 다음에 섬나라일 경우 DFS를 돌리고, answer++하므로, DFS안에서 또 DFS를 돌리는 구조로 같은 섬 추출

https://and-some.tistory.com/657

 

[Ch.08 - DFS / BFS] 13. 섬나라 아일랜드 #

13. 섬나라 아일랜드 설명 N*N의 섬나라 아일랜드의 지도가 격자판의 정보로 주어집니다. 각 섬은 1로 표시되어 상하좌우와 대각선으로 연결되어 있으며, 0은 바다입니다. 섬나라 아일랜드에 몇

and-some.tistory.com

 

반응형