[백준] 2798번 블랙잭 - Java[브루트포스] 문제 출처 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net ※ 풀이 블랙잭게임처럼 딜러가 부른 숫자와 가장 근접한 숫자가 나오도록 카드 3장을 뽑는 문제이다. 일단 카드 갯수인 n 의 범위가 그렇게 크지 않기때문에(100장) 모든 경우의 수를 다 돌려보는 브루트포스 알고리즘으로도 충분히 풀 수 있게 된다. 필자의 경우 재귀호출로 풀었다. ※ 소스코드 import..
글 목록
[백준] 1439번 뒤집기 - Java 문제 출처 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net ※ 풀이 모두 다 같은 문자로 만들기 위해 숫자를 뒤집는 문제이다. 첫번째 문자를 기준으로 연속된 다른 문자가 등장하는 횟수를 세어주면 된다. ※ 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Ma..
[백준] 14470번 전자레인지 - Java 문제 출처 https://www.acmicpc.net/problem/14470 14470번: 전자레인지 JOI 군은 식사 준비를 위해 A℃의 고기를 전자레인지로 B℃까지 데우려고 한다. 고기는 온도가 0℃보다 낮을 때 얼어 있고, 0℃보다 높을 때는 얼어 있지 않다. 온도가 정확히 0℃일 때 고기는 얼어 www.acmicpc.net ※ 풀이 문제에서 요구한 내용대로 구현하면 되는 문제이다. 필자의 경우 재귀함수로 구현하였다. 0도일때 해동하는 시간이 별도로 필요하다는 점에 주의하자 ※ 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; p..
[백준] 1697번 숨바꼭질 - Java[BFS] 문제 출처 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net ※ 풀이 수빈이가 동생을 찾는 가장 빠른 시간을 구해야 하는 문제이다. 최단 시간을 구하는 문제이므로 BFS 를 이용한다. 이 때 각 정점은 점 위치, 간선사이의 가중치는 1초로 모두 동일하므로 bfs 로 풀 수 있다. bfs 로 갈 수 있는 점들을 한단계씩 진행해보면서 목적지에 도달하면 종료시키면 된다. ※ ..