Algorithm/boj
백준 13023번 ABCDE
https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main_13023_유동훈 { static int answer; static int N; static int M; static List[] list; static i..
백준 1697 숨바꼭질 //BFS 큐
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main_1697_유동훈 { static int N;//현재위치 static int K;//목적위치 static int[] check = new int[100001];//index의 숫자올때까지 이동횟수(시간..
17375: 캐슬디펜스
https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 1. M칸중에 궁수자리 3개뽑기 = mC3 2.0~M-1까지 배열생성 => 조합의 재료 3. 0~M-1중에서 3개뽑아서 조합생성 -> result에 저장 4. map :: 맨마지막줄 result인덱스에 궁수(2)저장 5. allZero가 될때까지 attack,move반복 import java.io.BufferedReader; import java.io.IOException; import java.io.Inp..
2839번: 설탕배달
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 1.최대사용가능 5의 수 구하기 == 기준 2. 사용가능5의 갯수를 1씩 줄여가며 최대~0까지 반복 - 함수 1.사용한5만큼 N에서 빼줌 2. 나머지가지고 3씩빼면서 카운트++ 3. N이 0이면 가능한것임. possible=true, 정답갱신 - 출력 1. possibe? : answer : -1 import java.io.BufferedReader; import java.io.IOException; imp..
백준: 11047 동전 0
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1. 정렬되있음->뒤에서부터 탐욕적으로 탐색 2. K보다 작거나 같은 최대값 선택 3.반복적으로 빼고, 카운트++ 4.K==0이면 브레이크, 답 출력 5.현재 선택된값이 K보다 커지면 다시 탐욕적 탐색 , 3번으로가서 반복 import java.io.BufferedReader; import java.io.IOException; imp..
백준 : 15686 치킨배달
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..
11286번: 절대값 힙
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..
2961번 : 도영이가 만든 맛있는 음식
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_..