본문 바로가기

IT/알고리즘

[코딜리티] - Lesson 5. GenomicRangeQuery 안녕하세요 남갯입니다. public int[] solution(String S, int[] P, int[] Q) { // write your code in Java SE 8 int[] result = new int[P.length]; char[] s = S.toCharArray(); for(char a : s){ } S.replaceAll("A", "1"); S.replaceAll("C", "2"); S.replaceAll("G", "3"); S.replaceAll("T", "4"); int length = S.length(); int number = Integer.valueOf(S); for (int i = 0; i < P.length; i++) { result[i] = (int) ((number % ..
[코딜리티] - Lesson 5. PassingCars 안녕하세요 남갯입니다. public class PassingCars { public int solution(int[] A) { // write your code in Java SE 8 int max = 1000000000; int oneCount = 0; int result = 0; for (int a : A) { if (a == 1) { oneCount++; } } //01011 for (int i : A) { if (i == 0) { result += oneCount; if (result > max) { return -1; } } else if (i == 1) { oneCount--; } } return result; } } 1의 갯수를 구한뒤 0의 순서부터 1의 갯수를 줄줄이 뺀 갯수의 전체 합을 ..
[코딜리티] - Lesson 4. MissingInteger 안녕하세요 남갯입니다. public int solution(int[] A) { // write your code in Java SE 8 int result = 1; Map map = new HashMap(); for (int a : A) { if (a > 0) map.put(a, true); } for(int i = 0; i < map.keySet().size(); i++){ if(!map.containsKey(result)){ return result; } result ++; } return result; } https://app.codility.com/demo/results/trainingV3PH42-992/
[코딜리티] - Lesson 4. MaxCounters 안녕하세요 남갯입니다. public static int[] solution(int N, int[] A) { // write your code in Java SE 8 int[] result = new int[N]; int lastMaxValueIdx = -1; int maxValue = 0; int maxTempValue = 0; int idx = 0; for (int a : A) { if (a > N) { lastMaxValueIdx = idx; maxValue = maxTempValue; } else { if (result[a - 1] < maxValue) { result[a - 1] = maxValue + 1; } else { result[a - 1]++; } maxTempValue = Math.ma..
[코딜리티] - Lesson 4. FrogRiverOne 안녕하세요 남갯입니다. public class FrogRiverOne { public static int solution(int X, int[] A) { int sum = ((X) * (X + 1)) / 2; int result = -1; Map map = new HashMap(); if(A.length == 0){ return -1; } int i = 0; for (int a : A) { if (!map.containsKey(a)) { map.put(a, true); sum -= a; } if (sum == 0) { return i; } i++; } return result; } } https://app.codility.com/demo/results/trainingZYBBSY-F3V/
[코딜리티] - Lesson 3. TapeEquilibrium 안녕하세요 남갯입니다. public class TapeEquilibrium { public int solution(int[] A) { // write your code in Java SE 8 int start =0; int reverse = 0; int min = Integer.MAX_VALUE; for(int sum : A){ reverse += sum; } for(int i = 0; i < A.length-1; i++){ start += A[i]; reverse -= A[i]; if(Math.abs(start - reverse) < min) { min = Math.abs(start - reverse); } } return min; } }
[코딜리티] - Lesson 3. PermMissingElem 안녕하세요 남갯입니다. public class PermMissingElem { public static int solution(int[] A) { // write your code in Java SE 8 int total = 0; int result = 0; for (int i = 0; i < A.length; i++) { total += (i + 1); result += A[i]; } total += A.length + 1; return total - result; } }
[코딜리티] - Lesson 3. FrogJmp 안녕하세요 남갯입니다. public class FrogJump { public static int solution(int X, int Y, int D) { // write your code in Java SE 8 int offset = 0; if ((Y - X) % D > 0) { offset = 1; } return (Y == X) ? 0 : (((Y - X) / D) + offset); } }