코딜리티
-
[Codility]MaxCounters알고리즘 2019. 5. 6. 21:27
문제출처 https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/ 문제요약 연산방법 2가지가 주어짐 increase : 배열 요소 값중 일부거 1증가 max counter : 배열요소 값중 가장큰 값으로 모든 배열 요소를 치환 코드44점 정답률100%, 퍼포먼스 모두 time outhttps://app.codility.com/demo/results/trainingT3R5JY-QZA/ 아무래도 stream이 문제인거 같음.. 123456789101112131415161718192021222324import java.util.*; class Solution { public int[] solution(int N, int[] A..
-
[Codility] FrogRiverOne 27→100알고리즘 2019. 5. 6. 20:56
문제출처 https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/ 문제요약 개구리가 나뭇잎을 밣고목표지점까지 건너가야한다. 나뭇잎은 매초마다 여러위치에 랜덤으로 떨어진다. 주어진 배열의 인덱스는 '초'를 의미하며, 요소값은 나뭇잎이이 떨어 지는 위치를 의미한다. 나뭇잎이 목표지점까지 모두 떨어져 있어야 건너갈 수있다. 건너 갈수 없다면 -1 리턴. 목표지점이 10이라면 11까지 가야된다. 코드[27점] 오답+성능Xhttps://app.codility.com/demo/results/trainingGYCN5H-D7P/ 이번문제는 문제를 이해하는대 오래걸렸다.. 같은 스터디 조원한분이 잘 설명해주서어 쉽게 풀수 있었다.여러..
-
[Codility] PermCheck 100점알고리즘 2019. 5. 6. 20:12
문제 출처 https://app.codility.com/programmers/lessons/4-counting_elements/perm_check/ 문제요약 - 주어진 배열안의 값은 순열이다. 이중에서 중간에 빠진 값이 있으면 1출력 빠진값이 없으면 0출력 코드[100점]https://app.codility.com/demo/results/trainingAXRWN5-ZKS/ 주어진 수를 정렬 시킨다음에 반복문의 i값을 이용하여 비교하였음 1234567891011121314 import java.util.*; class Solution { public int solution(int[] A) { Arrays.sort(A); for(int i=0 ; i
-
[Codility] TapeEquilibrium 100점알고리즘 2019. 3. 31. 23:21
문제 출처 : https://app.codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/ 문제요약 : 주어진 배열에서 각구간에서 차를 구한뒤 차가 가장 작은 정수를 반환하는 것. ex) int[] A= {3, 1, 2, 4, 3};1번째 : 3 -(1+2+4+3) = 3 - 10 = 72번째 : (3+1) - (2+4+3) = 4 - 9 = 53번째 : (3+1+2) - (4+3) = 6 - 7 = 14번째 : (3+1+2+4) - 3 = 10 - 3 = 7 이중에 가장 작은 값을 반환. -> 1 [100점]https://app.codility.com/demo/results/training33VKAK-5FM/ 이 단원의 핵심은 시간 복..
-
[Codility] PermMissingElem 30→80→100알고리즘 2019. 3. 31. 00:35
문제출처 : https://app.codility.com/programmers/lessons/3-time_complexity/perm_missing_elem/ 문제요약 : 배열안에 여러개의 정렬되지 않은 숫자(1, n+1, ...)가 있다 여기서 빠진 요소 하나를 반환해라. -숫자범위는 0~100000 - 중복된 숫자는 제거해라 [30점]https://app.codility.com/demo/results/trainingSCGD52-MA7/문제의도를 아얘 잘못 파악했다.. 12345678910111213141516171819202122232425262728import java.util.*; // you can write to stdout for debugging purposes, e.g.// System...
-
[Codility] BinaryGap 100점알고리즘 2019. 3. 14. 22:28
문제출처 : https://app.codility.com/programmers/lessons/1-iterations/binary_gap/ 문제 요약 : 입력받은 숫자를 이진수로 변환후, 1에 1까지의 0의 개수를 각각 구한뒤 가장 큰 0의 개수를 반환해라.ex) 입력: 1001 출력: 2 입력: 1010001 출력: 3 [100점] 입력받은 숫자를 Integer클래스로 이진수 문자열로 바꾼뒤, 숫자로된 문자열을 배열에 넣었다. 배열에 넣은 후 반복문을 돌면서 0일때 마다 임시 변수에 카운트값을 증가시켰다. 그다음 1을 만나면 lit에 카운트값을 담았다. 그리고 임시변수값을 초기화해버림. 마지막에는 list에서 가장 큰 값을 반환해버렸다. 1234567891011121314151617181920212223..
-
[Codility] CyclicRotation 87점→100점알고리즘 2019. 3. 3. 16:56
문제출처 : https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/ 문제요약 : 입력받은 횟수(K)만큼 배열을 순환시키는 것. 맨뒤의 요소를 뽑아서 앞으로 넣은후 한칸씩 인덱스를 밀어주는 형식 [100점] 문제를 보면 배열의 맨뒤의 요소를 뽑아서 앞으로 넣은 후 그뒤에 요소들을 하나씩 밀어가고있다. ex) 2회전 주어진배열 {1, 2, 3}1회전 {3, 1, 2}2회전 {2, 3, 1} 자료구조를 공부를했다면 쉽게 풀 수 있는 문제다. 바로 선입선출(FIFO)성질을 가진 Que를 선택했다. 조금 아쉬운 점은 Que를 Array로 변환하는 과정이 조금 지저분하다는 생각이 들었다. 충분히 리팩토링 할 코드라고 생각한다. 123456789..