본문 바로가기

개발/알고리즘35

[codility] Distinct app.codility.com/programmers/lessons/6-sorting/distinct/ Distinct coding task - Learn to Code - Codility Compute number of distinct values in an array. app.codility.com 간단하게 중복 제거해주면 된다 python은 set을 사용해도 되고 def solution(A): # write your code in Python 3.6 d = {} for i in A: d[i]=True return len(d.keys()) # return(len(set(A))) 2021. 2. 19.
[codility] PassingCars 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 01011에서 두개를 뽑아서 (0,1)을 만드는데 0은 항상 1보다 작아야 함 01011을 반대로 뒤집으면 11010이고 0이 나올 때까지 1의 개수를 세어주면 된다 왜냐하면 0 앞에 1이 몇개나 있는지 개수를 세는거니까 첫번째 0은 2개, 두번째 0은 3개라서 총 5개가 됨 0이 나올때까지 1의 개수를 저장해두는 게 count one 이고 0이 나와서 이전 partial sum값과 cou.. 2021. 2. 18.
[codility] MinAvgTwoSlice 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 s[0] =0 s[1]=a[0] s[2]=a[0]+a[1] ... 이렇게 s를 먼저 구해놓고 -> O(N) p,q를 이중 for문 돌리면 O(N^2)인데 될까.... 응 안됑 60퍼 def solution(A): # write your code in Python 3.6 s = [0] tmp=0 for i in A: tmp+=i s.. 2021. 2. 18.
[codility] GenomicRangeQuery app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/ GenomicRangeQuery coding task - Learn to Code - Codility Find the minimal nucleotide from a range of sequence DNA. app.codility.com min에서 모두 탐색했더니 시간초과 뜬다 62프로 O(n*m)을 곱셈이 아닌 것으로 풀려면 for문 대신 저장할 수 있는 변수를 추가해야하는데 def solution(S, P, Q): # write your code in Python 3.6 m = len(P) d={'A':1,'C':2,'G':3,'T':4} a=[ d[min(S[P[i]:Q[i.. 2021. 2. 18.
[codility] PermCheck 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 sorting해서 index와 value 비교 def solution(A): # write your code in Python 3.6 a = sorted(A) for i,v in enumerate(a): if i+1 != v: return 0 return 1 2021. 2. 17.
[codility] MissingInteger 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 먼저 정렬부터 하고 - 음수만 있을 땐 1이 제일 최소 - 딕셔너리 타입 d 하나 만들어서 양수일 때만 값을 정의한다 d의 key들 중 p와 다른 것이 있으면 리턴 1중 for문이지만 정렬이 들어갔으니 O(N * log(N))이다 def solution(A): # write your code in Python 3.6.. 2021. 2. 17.