목록분류 전체보기 (157)
원하는 것은 뭐든지
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 짝수개의 주사위가 주어진다. 주사위는 1~n까지의 번호를 가지고 있고 정육면체 주사위고 각 면이 나올 확률은 같다.2. A는 먼저 주사위를 절반 가져갈 수 있다.3. 가져간 주사위를 모두 돌려서 나오는 값들의 합이 큰 사람이 이긴다.4. A는 먼저 주사위를 가져갈 수 있기 때문에 어떻게 가져가야 이길 수 있는지 주사위 번호를 1차원 배열로 오름차순 출력해라5. 각 주사위의 면의 원소는 1~100까지이다.문제 풀이1. 기업기출문제 답게 복합 알고리즘을 사용해야 한다.2. 주사위를 선택하는 과정을 백트래킹을 선택3. 그 후에 선택된 주사위(A)와 선택되지 않은 주사위(B)들의 합을 구하는 과정 DFS 선택4. 주사위 합 Li..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. N x M 크기의 배열이 주어진다.2. 로봇은 좌, 우, 아래 로만 이동 가능하다.3. 한번 탐사한 지역은 다시 가지 않는다.4. 각 배열에는 탐사가치가 있다.5. 좌측 최상단에서 시작하여 우측 최하단으로 이동할 때, 이동한 경로의 탐사가치가 최대가 되도록 해라문제 풀이1. bfs, dfs는 n, m 범위에 따라 불가능하다고 판단.2. 위로 올라가지 못하므로 한 줄씩 해결해야함3. 배열 위치에 올 수 있는 방법은 좌측에서 오거나 위에서 오거나 우측에서 오거나 세 가지이다.4. 하지만 좌측, 우측을 함께 생각할 필요는 없다.5. 첫 번째 줄은 좌측상단에서 시작하여 오른쪽으로만 갈 수 있으니 누적합 해준다.6. 다음 줄부터는..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 한쪽에는 무게추 한쪽에는 물건을 두어서 물건의 무게를 맞추려고 한다.2. 무게추들이 주어질 때 무게추들의 조합으로 측정할 수 없는 최소의 값을 찾아라문제 풀이1. dfs는 N이 1000개 까지라 2^1000승으로 시간 초과가 발생한다.2. 누적합을 이용하면 된다.3. 무게추들을 가벼운 무게 순으로 정렬한 뒤 누적합을 시작한다.4. 만약 누적합+1 이 다음 무게추의 무게보다 가볍다면 멈춘다.5. 왜냐하면 누적합 + 1 무게를 만들 수가 없기 때문이다. - 이유를 생각해보자 가장 작은 무게 추가 2일 때 시작한다면 누적합이 0이고 0+1은 2보다 작다. - 이처럼 위의 조건을 만족하지 못하면 무게추의 조합으로 해..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 크기가 NxN인 도시에 집과 치킨집의 위치가 입력으로 주어진다.2. 치킨집의 매출을 위해서 M개만 남기고 모두 폐업시키려고 한다.3. 각 집에서 치킨집과의 거리가 가장 짧을 경우를 찾아라문제 풀이1. 빈칸을 받을 필요 없이 집과 치킨집의 위치를 담는다.2. 각 집과 치킨집과의 거리를 담는다 (생략가능)3. 치킨집 M개를 선택하는 로직을 dfs로 구현한다.4. 치킨집을 M개 다 골랐을 때 거리가 최소가 되는 경우를 찾는다. ( 2번을 생략한 경우 이때 계산해 주어야 한다.)5. 자세한 것은 코드를 참고소스코드package online.judge.baekjoon;import java.io.BufferedReader;impor..