Codility 6

Lesson3-3. TapeEquilibrium

L : https://app.codility.com/programmers/lessons/3-time_complexity/tape_equilibrium/ Q : 왼쪽 , 오른쪽의 합의 차이중에 가장 작은값을 찾음. A : 모든 합을 구한후 한쪽은 마이너스 한쪽은 플러스로 계산 [Delphi] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 function solution(A: array of longint; N: longint): longint; var ii, iPlus, iMinus, iResult : longint; begin iMinus := 0; iPlus := 0; for ii := Low(A) to High(A) do begin iMinus ..

Algorithm/Codility 2019.06.22

Lesson3-2. PermMissingElem

L : https://app.codility.com/programmers/lessons/3-time_complexity/perm_missing_elem/ Q : 배열값이 1~ N+ 1 항목이 순차적으로 증가하는데 누락된 값을 찾아야 함. A : 1부터 주어진 값 N+1을 더하는 수식을 쓴 후 하나씩 빼면서 값을 찾음. [Delphi] 1 2 3 4 5 6 7 8 9 10 11 unction solution(A: array of longint; N: longint): longint; var ii, iSum : longint; begin N := N + 1; iSum := iSum + ((N * (N + 1)) div 2); for ii := Low(A) to High(A) do iSum := iSum - ..

Algorithm/Codility 2019.06.20

Lesson3-1. FrogJmp

L : https://app.codility.com/programmers/lessons/3-time_complexity/frog_jmp/ Q : 개구리가 몇 번을 이동해야 도착을 하는가 A : 몫이 이동하는 수. 나머지가 있다면 한 번을 더 추가 한다. [Delphi] 1 2 3 4 5 6 7 8 9 10 11 12 uses SysUtils; function solution(X: longint; Y: longint; D: longint): longint; var iMod, iDiv : longint; begin iDiv := (Y-X) div D; iMod := (Y-X) Mod D; if iMod > 0 then iDiv := iDiv + 1; exit(iDiv); end; Colored by Colo..

Algorithm/Codility 2019.06.20

Lesson2-2. CyclicRotation

L : https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/ Q : 배열을 받아서 K만큼 숫자를 회전한다. A : 배열의 길이와 회전되어야 하는 값의 나머지로 배열위치를 가져옴. [Delphi] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 function solution(A: array of longint; N: longint; K: longint): Results; var result: Results; arrval: array of longint; ii : longint; begin SetLength(arrval, N); for ii := 0 to N-1 do begin arrval[(ii+K)..

Algorithm/Codility 2019.06.20

Lesson2-1. OddOccurrencesInArray

L : https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/ Q : 배열을 받아서 배열값안에 숫자가 홀수개로 있는 항목을 찾으면 되는 문제. A : 구글에 참고하여 XOR 연산으로 처리. 잘 모르는 부분이라 공부 [Delphi] 1 2 3 4 5 6 7 8 9 10 11 12 function solution(A: array of longint; N: longint): longint; var ii, iResult : Longint; begin iResult := 0; for ii := low(A) to high(A) do begin iResult := iResult xor A[ii]; end; exit(iResult)..

Algorithm/Codility 2019.06.20

Lesson1. BinaryGap

L : https://app.codility.com/programmers/lessons/1-iterations/binary_gap/ Q : 10진수를 받아서 2진수로 변환하여 1과 1사이에 0의 개수가 제일 많은걸 찾아내야 하는 문제이다. A : 델파이에서는 10진수를 2진수로 바꾸는 방법을 찾지 못 해서 변환규칙으로 로직을 작성 [Delphi] 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 uses SysUtils; function solution(N: longint): longint; var iVal, iCnt, iPastCnt, iMod : longint; sVal : String; bFlag :..

Algorithm/Codility 2019.06.19