본문 바로가기

휴지통665

롤케이크 자르기 package programmers; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; public class 롤케이크_자르기 { // 각 조각에 동일한 가짓수의 토핑이 올라가게 자르기 public static int solution(int[] topping) { int answer = 0; Set set = new HashSet(); Map map = new HashMap(); for (int i = 0; i < topping.length; i++) { map.put(topping[i], map.getOrDefault(topping[i], 0) + 1); } for (int i = .. 2023. 2. 23.
메뉴 리뉴얼 package programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; public class 메뉴_리뉴얼 { //코스 요리 제공 //2가지 이상의 단품 메뉴로 구성 //최소 2명 이상의 손님으로부터 주문된 단품 메뉴 조합에 대해서만 코스 요리 후보 포함 private static Map map; private static Set set; private static int cours.. 2023. 2. 22.
삼각 달팽이 package programmers; import java.util.Arrays; public class 삼각_달팽이 { public static int[] solution(int n) { if (n == 1) return new int[] {1}; int[][] map = new int[n][n]; int sum = getSum(n); int count = 1; int y = 0; int x = 0; int limit = 0; while (limit + 1 2023. 2. 21.
큰 수 만들기 package programmers; import java.util.Stack; public class 큰_수_만들기 { public static String solution(String number, int k) { Stack s = new Stack(); for (int i = 0; i 0) { s.pop(); k--; } s.push(c); } while (k > 0) { s.pop(); k--; } return s.toString().substring(1, s.toString().length() - 1).replace(.. 2023. 2. 20.
쿼드압축 후 개수 세기 package programmers; public class 쿼드압축_후_개수_세기 { // 압축하고자 하는 영역 S // S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축 // 그렇지 않다면 S를 정확히 4개의 균일한 정사각형 영역으로 쪼갠뒤, 각 정사각형 영역에 대해 같은 방식으로 압축을 시도 // 배열에 최종적으로 남는 0의 개수와 1의 개수 리턴 private static int zero = 0; private static int one = 0; public static int[] solution(int[][] arr) { int len = arr.length; go(0, 0, len, arr); return new int[] {zero, one}; } private stati.. 2023. 2. 18.
소수 찾기 package programmers; import java.util.HashSet; import java.util.Set; public class 소수찾기_1 { public static int solution(String numbers) { Set numberSet = new HashSet(); makeNumber(numberSet, numbers.toCharArray(), new boolean[numbers.length()], ""); System.out.println(numberSet); int answer = 0; for (Integer num : numberSet) { if (isPrime(num)) { answer++; } } return answer; } private static boole.. 2023. 2. 17.