코딩테스트
-
[코드트리 조별과제] 냉방 시스템코딩테스트/코드트리_Java 2024. 8. 4. 21:18
문제 : 냉방 시스템 어려운 알고리즘이 들어가진 않지만 구현 조건이 까다로워서 시간을 많이 쓴 문제이다. 코드는 아래와 같다import java.io.*;import java.util.*;public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringTokenizer st; static StringBuilder sb = new StringBuilder(); static int n, m, k, time; static int[][] curCool, nextCool; static boolean[][][] wall; static..
-
[코드트리 조별과제] 산타와 선물 공장 2코딩테스트/코드트리_Java 2024. 7. 27. 23:00
문제 : 산타와 선물 공장 2 2번 기출을 처음 풀어봐서 좀 더 깔끔하게 풀 수 있는 방법이 있어보이는데, 코드가 더러워서 아쉽다.LinkedList를 직접 구현하는 방식으로 풀었다. 코드는 아래와 같다import java.io.*;import java.util.*;public class Main { static class Box { Box prev, next; int idx; } static class Belt { Box head, tail; int cnt = 0; } static StringTokenizer st; static BufferedReader br = new BufferedReader(new InputStre..
-
[코드트리 조별과제] 바이러스 백신코딩테스트/코드트리_Java 2024. 7. 18. 21:06
문제 : 바이러스 백신 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai문제는 아래와 같다N x N 크기의 도시에 병원, 벽, 바이러스가 있고, M개의 병원에 백신을 제공할 수 있다. 백신이 제공된 병원을 시작으로 매 초마다 상하좌우로 인접한 지역 중 벽을 제외한 지역에 백신이 공급되기 때문에 그 자리에 있던 바이러스 제거M개의 병원을 적절히 골라 최대한 빨리 바이러스를 없애고자 함3 ≤ n(전체 크기) ≤ 501 ≤ m(병원의 수) ≤ 10문제를 봤을 때 전체 x개의 병원 중 m개의 병원을 고른다는 점 에서 조합을매 초마다 상하좌우로 인접한 지역에 백신이..
-
[코드트리 챌린지] 메이즈 러너코딩테스트/코드트리_Java 2023. 10. 9. 20:11
문제 : 메이즈 러너 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 삼성 코딩테스트 대비 기출이라 참고하는 용도 정도로 글을 보면 좋으리라 생각됩니다. 코드는 아래와 같습니다. import java.util.*; import java.io.*; public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static StringBuffer sb = new StringBuffer(); static StringTokenizer st; ..
-
[코드트리 챌린지] 세 수의 최대 곱(S3)코딩테스트/코드트리_Java 2023. 10. 2. 18:08
문제 : 가장 짧은 부분합 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제는 아래와 같다 원소가 n개 들어 있는 수열에서 특정 구간을 잡았을 때 그 합이 s 이상이 되는 것 중, 가장 짧은 구간의 길이를 구하는 프로그램을 작성해보세요. 첫 번째 줄에 n과 s가 공백을 두고 주어집니다. 두 번째 줄에 수열의 각 원소가 공백을 두고 차례대로 주어집니다. 1 ≤ n ≤ 100,000 1 ≤ s ≤ 109 1 ≤ 원소 값 ≤ 10,000 실력 진단에서 틀린 문제이고 처음 투 포인터를 생각하긴 했지만, 원소 값이 10,000이길래 n^2으로도 풀리리라 생..
-
[코드트리 챌린지] 두 수의 합코딩테스트/코드트리_Java 2023. 9. 25. 23:52
문제 : 두 수의 합 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 코드트리 기준 IM 난이도의 문제이다. 원소의 개수 n과 두 수의 합이 될 k가 공백을 사이에 두고 주어지고, 두 번째 줄에는 n개의 정수가 공백을 사이에 두고 주어집니다. 수가 중복되어 주어질 수 있으며 입력으로 주어진 수들 중 서로 다른 위치에 있는 두 개의 수를 골랐을 때 두 수의 합이 k가 되는 가짓수를 출력하면 되는 문제이다. 사실 이 문제를 실력 진단에서 두 번 만났는데, 아쉽게도 이번에도 풀지 못하고 따로 풀어보려고 했지만 결국 해설을 찾아보고 풀었다. 아이디어 자체는 ..
-
[코드트리 챌린지] 정수 사각형 최대 합코딩테스트/코드트리_Java 2023. 9. 16. 22:03
문제 : 정수 사각형 최대 합 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 N×N 행렬이 주어졌을 때, (1,1)에서 시작하여 오른쪽 혹은 밑으로만 이동하여 (N,N)으로 간다고 했을 때 거쳐간 위치에 적혀있는 숫자의 합을 최대로 하는 프로그램을 작성해보세요.3 ≤ n ≤ 100,000 -1,000 ≤ 주어지는 수 ≤ 1,000 사실 실력진단에서 유사한 문제가 나왔는데 DFS 방식으로 풀려다가 시간이 부족했고, 이 문제는 BFS 방식으로 풀었다. 풀이는 아래와 같다. 1. DP테이블에 초기 좌표 0, 0에는 입력된 0,0의 값을 넣어준다. 2..
-
[코드트리 챌린지] 세 수의 최대 곱(S3)코딩테스트/코드트리_Java 2023. 9. 7. 22:59
Q. 세 수의 최대 곱 코드트리의 난이도와 백준의 난이도는 기준이 다르지만, 실버 3 난이도의 문제이다. 정수 n과 n개의 수가 주어졌을 때, 3개의 숫자를 적절하게 골라 나올 수 있는 곱 중 최대값을 구하는 프로그램을 작성하는 문제이고, n의 범위와 주어지는 수의 범위는 아래와 같다. 3 ≤ n ≤ 100,000 -1,000 ≤ 주어지는 수 ≤ 1,000 첫 번째 줄에 3개의 숫자를 적절하게 골라 나올 수 있는 곱 중 최대값을 출력하면 된다. 풀이는 아래와 같다. 1. 음수와 양수를 다른 리스트에 저장한다. 2. 이 음수와 양수들을 각각 정렬한다 (이때 양수는 오름차순으로 정렬되므로 -를 붙이면 내림차순으로 정렬하는 효과가 있다) 3. 최대값이 나올 수 있는 각각의 케이스를 골라 계산한다 3 - 1. ..