99클럽 코딩 테스트 22일차 TIL
·
코딩테스트/99클럽 4기
n번 던전부터 탐험을 시작했을 때 나올 수 있는 최대 던전 수를 구해야 한다.첫 번째 던전을 탐험하고 남은 피로도를 바탕으로 나머지 던전을 탐험해야 한다.던전을 탐험할 수 있는 모든 루트를 계산해야하기 때문에 DFS 가 사용된다.구현class Solution { public boolean[] visited; public int result = 0; public int solution(int k, int[][] dungeons) { visited = new boolean[dungeons.length]; dfs(0, k, dungeons); return result; } void dfs(int depth, int fatigue, int[][] ..
99클럽 코테 스터디 21일차 TIL
·
코딩테스트/99클럽 4기
먼저 전체 카펫의 크기는 brown + yellow이다.그리고 노란색 격자의 수는 1 이상이어야 하므로 세로의 길이는 3 이상부터 시작한다.반복문을 3부터 시작하여 전체 카펫 크기와 세로 길이를 나누면 가로길이를 구할 수 있다. 구현 1 - 실패import java.util.Arrays;class Solution { public int[] solution(int brown, int yellow) { int totalSize = brown + yellow; int col = 3; int row = totalSize / col; while (totalSize / col >= col) { if (totalSize % col == 0) ..
99클럽 코테 스터디 20일차 TIL
·
코딩테스트/99클럽 4기
먼저 수포자마다 문제를 찍는 규칙을 정리해야 한다.1번1, 2, 3, 4, 52번2, 1, 2, 3, 2, 4, 2, 53번3, 3, 1, 1, 2, 2, 4, 4, 5, 5int[] rules1 = {1, 2, 3, 4, 5};int[] rules2 = {2, 1, 2, 3, 2, 4, 2, 5};int[] rules3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};주어진 문제의 정답과 각각의 규칙을 비교하면서 맞힌 개수를 세야 하는데,규칙마다 개수가 달라 문제의 수가 많은 경우, ArrayIndexOutOfBoundsException이 발생할 수 있다. 문제를 모두 비교할 때까지 규칙의 사이클이 돌 수 있도록 따로 인덱스를 설정해줘야 한다.문제 개수를 기준으로 반복문이 돌 때마다 규칙 전..
99클럽 코테 스터디 19일차 TIL
·
코딩테스트/99클럽 4기
풀이1번 강의실에 가장 처음으로 시작하는 A 강의를 넣고, A 강의 종료 시간과 다른 강의 시작시간을 비교한다.B 강의 시작시간이 더 크다면 A 강의를 삭제하고, B 강의를 넣는다.모든 강의가 진행될 때까지 위 과정을 반복한다. 구현import java.io.*;import java.util.*;public class Main { static Queue lectures = new PriorityQueue(); public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokeniz..