본문 바로가기
728x90

CodingTest40

[코딩테스트] 가장 큰 정사각형 찾기 JAVA (동적 계획법 DP) 문제 설명 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 예를 들어 1 2 3 4 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 가 있다면 가장 큰 정사각형은 1 2 3 4 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 가 되며 넓이는 9가 되므로 9를 반환해 주면 됩니다. 제한사항 표(board)는 2차원 배열로 주어집니다. 표(board)의 행(row)의 크기 : 1,000 이하의 자연수 표(board)의 열(column)의 크기 : 1,000 이하의 자연수 .. 2024. 11. 13.
[코딩테스트] 나머지 한 점 JAVA XOR 문제 설명 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항 v는 세 점의 좌표가 들어있는 2차원 배열입니다. v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다. 좌표값은 1 이상 10억 이하의 자연수입니다. 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y축 좌표] 순으로 담아 return 해주세요.. 2024. 11. 13.
[코딩테스트] 순열 검사 JAVA 문제 설명 길이가 n인 배열에 1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는지를 확인하려고 합니다. 1부터 n까지 숫자가 중복 없이 한 번씩 들어 있는 경우 true를, 아닌 경우 false를 반환하도록 함수 solution을 완성해주세요. 제한사항 배열의 길이는 10만 이하입니다. 배열의 원소는 0 이상 10만 이하인 정수입니다.입출력 예 arr result [4, 1, 3, 2] true [4, 1, 3] false입출력 예 설명 입출력 예 #1 입력이 [4, 1, 3, 2]가 주어진 경우, 배열의 길이가 4이므로 배열에는 1부터 4까지 숫자가 모두 들어 있어야 합니다. [4, 1, 3, 2]에는 1부터 4까지의 숫자가 모두 들어 있으므로 true를 반환하면 됩니다. 입출력 예 #2 [4, 1,.. 2024. 11. 13.
[코딩테스트] 자릿수 더하기 JAVA 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.제한사항N의 범위 : 100,000,000 이하의 자연수입출력 처음에는 입력된 n의 값을 string으로 치환하고, 반복문을 사용해서 한 자리씩 자른 다음에 다시 int형으로 변환하여 더해나가야 하나 생각했다.그러나 나머지, 몫으로 아주 간단하게 해결되는 문제였다. import java.util.*;public class Solution { public int solution(int n) { int answer = 0; int m = 0; while(n>0){ .. 2024. 11. 13.
PriorityQueue (우선순위 큐) PriorityQueue는 우선순위 큐(priority queue)를 구현한 자료구조입니다.이는 우선순위(priority)를 가진 항목들을 저장하는 큐로, 항목의 우선순위에 따라 항목들이 저장/제거됩니다. PriorityQueue는 내부적으로 배열이나 힙(heap)등의 자료구조를 사용하여 구현될 수 있습니다.대표적으로는 최소 힙(min heap)을 기반으로 구현되어, 저장된 항목 중 우선순위가 가장 높은(값이 가장 낮은) 항목이 가장 먼저 제거됩니다. PriorityQueue의 주요 메서드는 다음과 같습니다: - add(E e): 큐에 항목 e를 삽입합니다.  - peek(): 큐의 제일 앞, 즉 우선순위가 가장 높은 항목을 반환합니다.  - poll(): 큐의 제일 앞 항목을 제거하고 반환합니다. - .. 2023. 11. 14.
728x90