목록Algorithm (421)
Mini
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeUtVakTMDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. nums배열 생성=>1,2,3,4,5,6,....N으로 조합만듬=>배열인덱스로 사용 2. result배열 생성=>크기가nCr의 r, ex)1,2,3에서 2개뽑으면 1,2 / 1,3 /2,3 이 됨. 3. comb(시작인덱스, 카운트=>r이되면 끝내려고) if(cnt==r) {계산, 리턴} for(i= 시작인덱스~N) { result[cnt]=nums[i] => 조합생성 comb(i+1,cnt+..
https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net //comb(0,0)시작 //nCm임 (n==전체 치킨집수, m=선택된치킨집 수) //1.n크기의 체크배열 생성 //2.for( i= 0~n-1) // check[i]=true // comb(i,cnt+1) // check[i]=false; //3.if(cnt==M) 할일(완성된조합, 체크되면->계산), 리턴 check배열 idx와 치킨리스트 idx는 맞추어져있음 할일 : f..
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net if(입력!=0) add(입력>0) (절대값,+1) add(입력 top에있는거 출력 -add 큐에 배열을 (절대값, 1) (절대값, -1)로 넣음 => 곱하면 원래값이 나오도록 -comparator 절대값이 같으면 -> 오리지날 값끼리 비교 -> 작은거 위로 절대값이 다르면-> 절대값끼리 비교 -> 작은거 위로 import java.io.BufferedReader; impor..

https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net * 트리문제 구현방법 1.매개변수로 합을 저장할 변수 make 2.재귀호출2개 1번: 현재값을 계산하고(선택하고) 호출, 요리 카운트++ 2번: 현재값을 (선택안하고) 계산안하고 호출, 요리 카운트그대로 참고 : depth가 깊이, 인덱스 역할도 함. cnt는 입력이 1쌍일때 정답이 무조건 1이되는 현상 방지 [(0,1,0,0)으로 호출하므로 차이가 1임] cnt(input_..
https://www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 9C7로 조합생성 if(완성) if(합==100) answer에 깊은복사 return import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_3040_유동훈 { static int[] r..

https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의www.acmicpc.net* 순열public static void permutation(int idx, int k) { if(idx == k) { //완성배열으로 할일(static result에 완성되있음) return; } for(int i = 0; i 순열make permutati..
https://www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 제한조건 : min(N,M)%2==0 -> 가로,세로가 짝수가 보장됨-> 아래,오,위,왼 못돌리는 경우 안들어옴 규칙발견 : min(N,M)/2 == 로테이션할 횟수 * swap 구현 방법1 temp1=이전값 temp2=현재값 현재값=temp1 temp1=temp2 ... * 의사코드 dr,dc=아래,오..
https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net for(2차원배열순회) if(기존!=1) 값=1 count++ endif endfor import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main_2563_유동훈..