코딩테스트실력진단
-
[코드트리 챌린지] 메이즈 러너코딩테스트/코드트리_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. ..