본문 바로가기

Algorithm101

알고리즘(단체사진 찍기, 올바른 괄호, 다음 큰 숫자) [단체사진 찍기] * 로직 8명을 일렬로 세우는 경우의 수를 구한다 경우의 수가 구해질 때마다 data[] 질문에 대해 모두 만족하는지를 판단한다 만족 한다면 답을 카운팅한다 // 단체사진 찍기 import java.util.LinkedList; public class Problem_GroupPhoto { static int Size = 8; // 줄을 서는 캐릭터의 수 static String[] Members = {"A", "C", "F", "J", "M", "N", "R", "T"}; static boolean[] checked; static int result; public static void main(String[] args) { int n = 2; String[] data = {"N~F=0".. 2020. 4. 21.
알고리즘(라면 공장, 가장 큰 정사각형 찾기) [라면 공장] * 로직 stock 값보다 같거나 큰 날짜를 우선순위 큐에 집어넣는다 여기서 우선순위 큐 정렬 방식은 공급일이 긴 순으로 내림차순이다 (그래야 최소 일수로 채워나갈 수 있기 때문에) 큐에서 꺼내어 stock에 누적시켜주고, 답을 카운팅한다 import java.util.Comparator; import java.util.PriorityQueue; class Solution { public int solution(int stock, int[] dates, int[] supplies, int k) { int answer = 0; int idx=0; PriorityQueue priorityQueue = new PriorityQueue(Comparator.reverseOrder()); while .. 2020. 4. 20.
알고리즘(숫자 야구) [숫자 야구] * 로직 1~9까지 숫자 중 3가지 수를 뽑는 모든 경우를 구한다(순열) 숫자가 만들어질 때마다 baseball 질문 개수만큼 비교를 진행한다 만약 질문의 결과와 일치하지 않는다면 false 모두 다 일치한다면 true 모두 다 일치하게되면 답을 카운팅한다 // 숫자야구 public class Problem_NumberBaseball { static boolean[] checked; static int[] arr; static int N; static int R; static int result; public static void main(String[] args) { int[][] baseball = { {123, 1, 1}, {356, 1, 0}, {327, 2, 0}, {489, 0,.. 2020. 4. 17.