Algorithm
-
(코딜리티) Lesson 6. [sorting] : MaxProductOfThree - pythonAlgorithm/코딜리티 2021. 1. 25. 18:45
문제 : app.codility.com/programmers/lessons/6-sorting/max_product_of_three/ MaxProductOfThree coding task - Learn to Code - Codility Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R). app.codility.com 문제해설 비어있지 않은 N개인 배열 A를 주어질 때, 3개를 곱하였을 때 가장 큰 값을 return하시오. 예를 들어, A = [-3, 1, 2 -2, 5, 6]이 주어졌을 때, 2x5x6 = 60이 가장큰 값으로 60을 return합니다. 제한 사항 N은 3~100,000사이 A의 각 요소는 -1,000~1,000사이 코드 def solution..
-
(코딜리티) Lesson 6. [Sorting] : Distinct - pythonAlgorithm/코딜리티 2021. 1. 25. 18:40
문제 : app.codility.com/programmers/lessons/6-sorting/ 6. Sorting lesson - Learn to Code - Codility Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R). app.codility.com 문제해설 N개의 배열 A에서 구별되는 요소의 갯수를 return합니다. 예를 들어, A = [2, 1, 1, 2, 3, 1]일 때, 구별되는 요소는 1, 2, 3으로 3을 return합니다. 제한 사항 N의 범위는 0~100,000사이 A의 각 요소의 범위는 -1,000,000~1,000,000사이 코드 def solution(A): A = sorted(A) if A: temp = A[0] count = ..
-
(코딜리티) Lesson 5 : PassingCarsAlgorithm/코딜리티 2021. 1. 24. 20:25
문제 : app.codility.com/programmers/lessons/5-prefix_sums/passing_cars/ PassingCars coding task - Learn to Code - Codility Count the number of passing cars on the road. app.codility.com 문제 해설 비어있지 않은 N개인 배열 A가 주어 질 때, 0과 1인 경우의 쌍 갯수를 구하시오. 예를 들어, A = [0, 1, 0 ,1, 1]일 경우, 0에서 1인 쌍은 (0,1), (0, 3), (0, 4), (2, 3), (2, 4)로 5를 return해야 합니다. 그리고 만약 총 갯수가 1,000,000,000개를 초과할 경우는 -1을 return합니다. 제한 사항 N은 1..
-
(코딜리티) Lesson 5 : MinAvgTwoSlice - PythonAlgorithm/코딜리티 2021. 1. 21. 20:59
문제 : app.codility.com/programmers/lessons/5-prefix_sums/min_avg_two_slice/ MinAvgTwoSlice coding task - Learn to Code - Codility Find the minimal average of any slice containing at least two elements. app.codility.com 문제 해설 N개의 배열인 A일 때, P와 Q를 slice를 한 평균값이 가장 작은 시작 포인트를 구하시오. 예를 들어, A = [4, 2, 2, 5, 1, 5, 8]일 때, slice (1, 2)일 때, (2+2) / 2 = 2 slice (3, 4)일 때, (5+1) / 2 = 3 slice (1, 4)일 때, (2+2..
-
(코딜리티) Lesson 5 : GenomicRangeQuery- PythonAlgorithm/코딜리티 2021. 1. 20. 18:47
이 문제는 prefix sum 알고리즘에 대한 이해도가 있어야 풀 수 있다고 생각됩니다. 처음에 풀지 못하고, prefix sum에 대한 알고리즘을 알고 난 뒤 응용하여 문제를 풀었습니다. 제 머리는 prefix sum이라는 알고리즘을 모르고 문제를 푸는 건 절대 머리속에서 나올 수가 없다고 생각이 드네요..ㅠㅠ 문제 : app.codility.com/programmers/lessons/5-prefix_sums/ 5. Prefix Sums lesson - Learn to Code - Codility Compute number of integers divisible by k in range [a..b]. app.codility.com 문제설명 A, C, G, T라는 뉴클레오타이드가 있습니다. 각각의 영향도..
-
(코딜리티) Lesson 5 : CountDiv - PythonAlgorithm/코딜리티 2021. 1. 19. 22:07
문제 : app.codility.com/programmers/lessons/5-prefix_sums/ 5. Prefix Sums lesson - Learn to Code - Codility Compute number of integers divisible by k in range [a..b]. app.codility.com 문제 설명 3개의 정수인 A, B, K가 주어질 때, A와 B사에 K로 나누어떨어지는 갯수를 구하시오. 예를 들어, A = 6, B = 11, K = 2 일때, 6, 8, 10이므로 3을 return한다. 제한 사항 A와 B는 0~2,000,000,000사이의 값 K는 1~2,000,000,000사이의 값 A
-
(코딜리티) Lesson 4 : PermCheck- PythonAlgorithm/코딜리티 2021. 1. 19. 20:35
문제 : app.codility.com/programmers/lessons/4-counting_elements/perm_check/ PermCheck coding task - Learn to Code - Codility Check whether array A is a permutation. app.codility.com 문제 해설 순열은 1에서 N까지 연속적인 숫자를 포함하며, 각 1개씩 있는 것을 말한다. 예를 들어, A = [4, 1, 3, 2]인 경우, return 1 A = [4, 1, 3]인 경우, return 0 순열인경우 1을 return하고 후자와 같은 경우는 2가 없으므로, 0을 return한다. 제한 사항 N는 1~100,000 A의 각요소는 1~1,000,000,000 코드 def s..
-
(코딜리티) Lesson 4 : MissingInteger - PythonAlgorithm/코딜리티 2021. 1. 19. 20:19
문제 : app.codility.com/programmers/lessons/4-counting_elements/missing_integer/ MissingInteger coding task - Learn to Code - Codility Find the smallest positive integer that does not occur in a given sequence. app.codility.com 문제 해설 N개의 배열인 A가 주어질 때, A에 속해있지 않은 양수중에 제일 작은 값을 구하시오 예를 들어, A = [1, 3, 6, 4, 1, 2]인 경우, return 5 A = [1, 2, 3]인 경우, return 4 A = [-1, -3]인 경우, return 1 제한사항 N은 1~100,000 사..