목록BOJ (335)
기록방

👉 문제링크 19621번: 회의실 배정 2 서준이는 아빠로부터 N개의 회의와 하나의 회의실을 선물로 받았다. 각 회의는 시작 시간, 끝나는 시간, 회의 인원이 주어지고 한 회의실에서 동시에 두 개 이상의 회의가 진행될 수 없다. 단, www.acmicpc.net 🔸 문제 분석 🔸 회의 시간에 진행할 수 있는 회의를 조절해, 회의에 참여한 인원의 최대값을 출력한다. 회의 별 최대 참여 인원을 DP에 저장하는 방식으로 풀이할 수 있다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokeni..

👉 문제링크 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 🔸 문제 분석 🔸 0부터 10만까지 범위에서, 수빈이의 위치 N 부터 동생의 위치 K로 이동하는 최단 시간을 출력한다. 수빈이가 이동하는 방법은 좌우 한칸(-1, +1), 순간이동 (현위치 *2)가 있다. 주의 할 점은 이동위치와 k의 거리 차이가 가장 적은 것을 선택하는 그리디 방식으로 계산해서는 안된다. 그리디로 보면 예제 1번에서 5 - 10 - 9 - 18 - 17 에서 2번째 이동 할 때인 10위치에서 순간이동이 ..

👉 문제링크 1954번: 화학실험 우리에게는 n가지 종류의 화학 시약 t1, t2, ..., tn과 M mg의 용액이 있다. 이 용액 중 x mg을 시약 ti에 넣으면 aix+bi만큼의 어떤 가스가 발생한다고 한다. 시약에 넣을 수 있는 용액의 양은 자연수이 www.acmicpc.net 🔸 문제 분석 🔸 n 종류의 화학 시약 t1, t2, ..., tn의 정보 ai와 bi, 그리고 M mg의 용액이 주어진다. 용액 중 x mg을 시약 ti 에 넣으면 ai*x+bi 만큼의 가스가 발생한다. n개의 화학 시약 모두 같은 양의 가스를 발생시킬 수 있으면 가스 양을 출력하고, 그럴 수 없으면 0을 출력한다. 용액이 남으면 안된다. 용액의 양 x mg 을 1부터 늘려가며 용액들에 넣어보고 같은 양의 가스가 발생하..

👉 문제링크 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 🔸 문제 분석 🔸 n x n 크기의 영상 정보에서 0 또는 1로 압축된 결과를 출력한다. 정사각형이 하나의 수로만 이루어져 있으면 그 수로 압축가능하다. 해당 수를 출력한다. 다른 수가 섞여있으면, 정사각형을 4등분해서 다시 압축한다. 4등분 했을때 결과값은 () 괄호로 묶어 출력한다. 재귀를 이용해서 정사각형이 하나의 수로 이루어져있지 않으면 4등분 값을 다시 검사하는 방식으로 해결한다. 🔸 코드 🔸 import java.io.Buff..

👉 문제링크 2312번: 수 복원하기 첫째 줄에 테스트 케이스의 수가 주어진다. 각 테스트 케이스마다 양의 정수 N (2 ≤ N ≤ 100,000)이 주어진다. www.acmicpc.net 🔸 문제 분석 🔸 양의 정수 N이 주어지면 소인수 분해 결과를 출력한다. 2부터 N까지 나누며, 몫이 1이 될 때까지 반복한다. 나눈 수를 카운트한다 카운트한 나눈 수 들중에서 값이 1 이상인 것들만 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int tc = sc.nextInt(); StringBuilder sb = n..