본문 바로가기

알고리즘연습/백준65

[BOJ] 16948번 데스 나이트 자바 문제 https://www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net 문제 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크기가 N×N인 체스판과 두 칸 (r1, c1.. 2022. 7. 3.
[BOJ] 2636번 치즈 자바 문제 문제 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓여 있지 않으며 치즈에는 하나 이상의 구멍이 있을 수 있다. 이 치즈를 공기 중에 놓으면 녹게 되는데 공기와 접촉된 칸은 한 시간이 지나면 녹아 없어진다. 치즈의 구멍 속에는 공기가 없지만 구멍을 둘러싼 치즈가 녹아서 구멍이 열리면 구멍 속으로 공기가 들어가게 된다. 의 경우, 치즈의 구멍을 둘러싼 치즈는 녹지 않고 ‘c’로 표시된 부분만 한 시간 후에 녹아 없어져서 와 같이 된다. 원래 치즈 모양 다시 한 시간 후에는 에서 ‘c’로 표시된 부분이 녹아 없어져서 과 같이 된다. 한 시간 후의 치즈 모양 두 시간 후의 .. 2022. 7. 2.
[BOJ] 1182번 부분수열의 합 자바 문제 풀이 #브루트포스 #백트래킹 #dfs dfs를 이용해서 원소를 더하는 경우와 더하지 않는 경우를 모두 탐색한다. 배열을 모두 돌았을 때 합이 S와 일치한다면 cnt를 증가시킨다. 만일 S가 0이라면 공집합까지 포함되어 카운트되기 때문에 -1해준다. 코드 package BOJ.bruteforce; import java.util.*; import java.io.*; public class No1182_부분수열의합 { static int N,S; static int cnt=0; static int[] arr; public static void main(String[] args) throws IOException{ BufferedReader br=new BufferedReader(new InputStrea.. 2022. 6. 26.
[BOJ] 10819번 차이를 최대로 자바 문제 문제 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다. 풀이 #브루트포스 #백트래킹 우선, N의 범위가 최대 8이기 때문에 브루트포스를 사용할 수 있다. 백트래킹을 사용하며 임시 배열(caseArr)에 cnt를 인덱스로 하여 원소값을.. 2022. 6. 26.