2024.08.14기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 n이 주어질 때, 1 ~ n을 이용해서 부분 수열들의 합이 가장 높은 수열을 출력하는 문제입니다. 예제를 통해 문제를 이해하도록 하겠습니다.1. n이 4가 주어지면 인덱스별로 호출되는 횟수를 정의해봤습니다.가운데 있는 수들이 가장 많은 횟수를 나오는걸 확인할 수 있습니다.(큰 수가 많이 호출될 수록 합이 높게 나옵니다.) 2. 이를 이용해 높은 수 일수록 가운데에 배치하며 작은 수 일수록 가장자리에 위치하도록 Deque를 이용했습니다.앞 뒤를 한 번 씩 넣어 수열을 완성해주었습니다.// 수열을 저장할 큐Deque qu = new LinkedList();boolean check = false; // 앞 뒤를 구..
2024.08.13기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 수열에서 모든 쌍의 최대공약수를 더 해 값을 출력하는 문제입니다. 주의할 점은 전체 합은 int범위를 넘어가기 때문에, long을 사용해야 된다는 점입니다. 예제를 통해서 문제의 설명을 하도록 하겠습니다.수열 : 10 20 30 40 1. 저는 List을 통해 각 수의 약수들을 전부 true를 통해 저장을 해주었습니다.static List list;public static void main(String[] args) throws IOException { list = new LinkedList(); st = new StringTokenizer(br.readLine()); n = Inte..
2024.08.12기준 - 실버5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 수 n과 1 ~ 9까지의 숫자들이 주어졌을 때, 1 ~ 9 까지 주어진 수를 이용해 n보다 작거나 같은 수 중 제일 큰 값을 출력하는 문제입니다. 1. 이 문제는 재귀함수를 통해 풀어나갔습니다.private static void function(int num) { if (num > n) { // 값이 더 커지면 멈춘다. return; } if (max = 0; i--) { function(num * 10 + arr[i]); }} 모든 수를 일의 자리에 추가를 해주면서 주어진 수가 n보다 커지면 break를 크지 않고, 현재 max값 보다 크다면 max값에 저장을 ..
2024.08.11기준 - 골드5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 익은 토마토가 안 익은 토마토를 익게 만들 때, 전부 익을 수 있다면 다 익을 때 까지 걸리는 시간을 아니라면 -1을 출력하는 문제입니다. 1. 우선 참조하는 위치에서 이동할 좌표를 선언했습니다.static int[] dx = {0, 1, 0, -1, 0, 0};static int[] dy = {-1, 0, 1, 0, 0, 0};static int[] dh = {0, 0, 0, 0, 1, -1}; 2. 밭을 저장할 int[][][] field을 생성했습니다.static int[][][] field;field = new int[h][m][n];for (int i = 0; i 3. 밭에서 익은 토마토가 있을 때..