본문 바로가기

-

(212)
소수 만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 class Solution { public int solution(int[] nums) { int answer = 0; int i, j, k, l, m; int s1 = 0, s2 = 0, s3 = 0; for (i = 0; i
K번째수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.ArrayList; import java.util.Collections; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = {}; ArrayList tmpList = new ArrayList(); ArrayList ansList = new ArrayList(); for (int i = 0; i
체육복 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import java.util.Arrays; import java.util.HashMap; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; HashMap map1 = new HashMap(); HashMap map2 = new HashMap(); for (int res : reserve) { map2.put(res, 1); } for (int lo : lost) { if (map2.getOrDe..
모든 레코드 조회하기 SELECT * from animal_ins order by animal_id;
폰켓몬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import java.util.HashMap; class Solution { public int solution(int[] nums) { int answer = 0; int max = nums.length / 2; HashMap map = new HashMap(); for(int num : nums) { map.put(num, map.getOrDefault(num, 1) + 1); } if(map.size() > max) answer = max; else answer = map.size(); return answer; } } Colored by Color Scripter cs 최대한 다양한 폰켓몬을 고르는 문..
완주하지 못한 선수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.HashMap; import java.util.Map.Entry; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; HashMap map = new HashMap(); for(String part : participant) { if(map.get(part) == null) { map.put(part, 0); } else map.put(part, map.get(part) + 1); } for(String com :..
최대합 부분배열 문제 : 길이가 n 인 정수의 배열 A[0..n-1]가 있다. A[a] + A[a+1] + … + A[b]의 값 을 최대화하는 구간 (a,b)를 찾는 방법을 Divide-and-Conquer 전략을 이용 하여 설계하고 분석하라. 예를 들어, 배열 A 가 아래와 같이 주어졌을 경우 (n = 10), 31 -41 59 26 -53 58 97 -93 -23 84 답은 a = 2, b = 6 인 경우의 59+26-53+58+97=187 가 된다. 이 문제에 대해 여러가지 방법이 있는데 가장 쉬운 방법부터 소개하겠다. 1. 부분합 수열 : O(n^2) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 int MaxLoof(int *arr, int n) { int i,j,tmp,res..
소수 판별 알고리즘 어떤 수 n이 소수인지 판별하는 방법 중 가장 기본적인 것은 2부터 n-1까지 n에 대해 나눠보고 나눠지는 경우에는 소수가 아님을 판별하는 방법이 있다. 에라토스테네스 체의 특징을 이용하여 소수를 더 간단하게 구하는 방법이 있다. 예를들어 4를 소인수 분해하면 2*2가 나오고, 63을 소인수분해 해보면 3*3*7이 나온다. 이와 같이 합성수 m를 소인수분해 한 값들은 m의 제곱근보다 작거나 같음을 알 수 있다. 이를 이용하여 소수 판별 알고리즘을 작성하면 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include #include int main() { int n; int i,j; printf("판별할 수를 입력..