Study
-
fishStudy/알고리즘 2018. 1. 19. 09:24
============================================================================== N개의 정수로 구성된 배열 A와 B가 주어진다. 배열 A와 B는 강의 흐름에 따라 순서가 매겨진, 강 안의 게걸스러운 물고기 N마리를 나타낸다. 물고기는 0부터 N-1 까지로 숫자가 매겨져 있다. 만약 P < Q인 두 물고기가 있다면, 물고기 P는 물고기 Q보다 초기에 상류에 있다. 초기에 각 물고기는 유일한 위치를 가진다. 물고기 P는 A[P]와 B[P]로 표현된다. 배열 A는 물고기의 크기를 포함한다. 모든 요소는 유일하다.배열 B는 물고기의 방향을 포함한다. 오직 0 또는 1만 포함한다.- 0은 물고기가 상류로 흐르고 있음을 나타내고,- 1은 물고기가 하류로 ..
-
BracketsStudy/알고리즘 2018. 1. 18. 15:25
생각을 잘못했네 풀고나니 자료구조를 이용해서 풀어야 된다고 그때 생각함.. -_-;; function Brackets(A){ // 바깥쪽 패어 여부를 조사 // 중간 패어 조사 시작 인덱스를 리턴 하게끔 var checkIndex = 0; for(var i = 0 ; i < A.length -1; i++){ var getStartText = A.charAt(i); var getEndText = A.charAt(A.length - (i + 1)); var expectedEndText = ""; switch (getStartText){ case "{": expectedEndText = "}"; break; case "(": expectedEndText = ")"; break; case "[": expecte..
-
NumberOfDiscIntersectionsStudy/알고리즘 2018. 1. 16. 15:22
역대급이었다... 수학어렵다.... https://app.codility.com/demo/results/trainingCUC4BP-Y5A/ array[i].end >= array[j].start 이 조건을 찾지 못해서............................. ㅠㅠ function solution(A){ var array = new Array(); for(var i = 0 ; i < A.length; i++){ var pos = { start : i - A[i], end : i + A[i] }; array.push(pos); }; var crossCnt = 0; for(var i = 0 ; i < array.length -1 ; i++){ for(var j = 1; j < array.length..
-
MaxProductOfThreeStudy/알고리즘 2018. 1. 16. 11:42
음수 두개를 곱할경우 양수가 된다는 가정을 생각 못함.. Max 값을 구하는데 피똥쌈.. ... function solution(A){ var max = A[0]; var maxIdx = 0; for(var i = 0 ; i < A.length; i++){ if(max < A[i]){ max = A[i]; maxIdx = i; } } A.splice(maxIdx, 1); var max2 = A[0]; var max2Idx = 0; for(var i = 0 ; i < A.length; i++){ if(max2 < A[i]){ max2 = A[i]; max2Idx = i; } } A.splice(max2Idx, 1); var max3 = 0; max3 = Math.max.apply(null, A); retu..
-
DistinctStudy/알고리즘 2018. 1. 15. 16:49
오늘은 코딩이 참 안되네..... https://app.codility.com/demo/results/trainingN7Y4C8-9B5/ public static int solution(int[] A){ ArrayList array = new ArrayList(); int checkInt = 0; for(int i = 0 ; i < A.length; i++){ checkInt = A[i]; boolean isDistinct = false; for(int j = 0 ; j < array.size() ; j++){ if(A[i] == array.get(j) ){ isDistinct = true; } } if(!isDistinct){ array.add(checkInt); } } return array.size..
-
MinAvgTwoSliceStudy/알고리즘 2018. 1. 15. 14:36
Java는 사칙연산결과가 원하는대로 안나와서javascript로 다시 풀어봄.. function solution(A) { // write your code in JavaScript (Node.js 6.4.0) var min = 0; var minIndex = 0; for(var P = 0; P > (P, Q)" + P+ "," +Q); if(sum == 0){ sum += A[P]; } sum += A[Q]; console.log("> sum : " + sum); avg = sum / ((Q - P) + 1); console.log(..
-
GenomicRangeQueryStudy/알고리즘 2018. 1. 15. 10:56
1차 풀이 일단 정답맞나 확인용으로 풀어봄.. public static int[] solution(String S, int[] P, int[] Q){ int result[] = new int[P.length]; for(int i = 0 ; i < P.length; i++){ int start = P[i]; int end = Q[i]; String temp = S.substring(start, end+1); char charArray[] = temp.toCharArray(); int min = 0; for(int j = 0; j < charArray.length; j++){ int tempChar = 0; switch (charArray[j]){ case 'A': tempChar = 1; break; ca..
-
PassingCarsStudy/알고리즘 2018. 1. 12. 15:07
또 ... 퍼포먼스 0 음?;; public static int solution(int A[]){ int result = 0; for(int i = 0 ; i < A.length; i++){ if(A[i] == 0){ //count 시작 for(int j = i; j < A.length; j++){ if(A[j] == 1){ // System.out.println("("+i +"," + j +")"); result++; } } } } return result; } 사고 방식을 바꿔야 하나;;