본문 바로가기

codeacademy18

FrogJmp - codility def solution(X, Y, D): n = Y-X if n/ float(D) == n / D: return n /D else: return (n/D)+1 엄청 간단해 보이는 문제였는데 힘겹게 풀었다.파이썬에서 10/3 값이 3.33333이 아니라3으로 나온다는걸 이용해서 푼 문제.소수점 까지 표시해주고 싶으면 나누는 값이나 나눠지는 값에 float()함수를 씌워줘야 한다. 예를 들어 X=10, Y=85, D=30 이라고 하면n = 85-10 = 75이다.n / D = 75 /30 = 2.5인데float 함수를 씌우면 2.5라는 값이 나오고 아니라면 소숫점을 버린 2값만 나온다. - n/D값이 정수가 나오면, 목표값인 Y값과 똑같아 지는 것이므로그 n/D값을 돌려준다.- n/D값이 소수점이 나온다는 .. 2017. 3. 29.
Time complexity - codility def solution(A): N =len(A) result = (N+1)*(N+2)/2 x = result-sum(A) return x A의 배열은 1부터 N+1까지 정수를 포함하는 배열이다.그 중에서 임의의 정수 딱 하나가 빠져있다.함수 기능을 이용해서 빠진 정수를 구하는 문제. 1+2+....+N+1까지의 정수 합에서 A배열의 합을 빼주면그 중에 빠진 정수 x를 구할수 있다. 이 답안은 점수 100%였다. def solution(A): N =len(A) for x in range(1,N+2): if x not in A: return x 이 답안은 정확도 테스트는 모두 통과했지만시간 복잡도 테스트를 통과하지 못했다.복잡도가 N^2라서 실행시간이 기준을 초과했다. 맨날 사용하던 for과 if not i.. 2017. 3. 29.
16. Exam Statistics 12345678910111213141516171819202122232425262728293031323334grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5] def print_grades(grades): for grade in grades: print grade def grades_sum(grades): total = 0 for grade in grades: total += grade return total def grades_average(grades): sum_of_grades = grades_sum(grades) average = sum_of_grades / float(len(grades)) return average def gra.. 2017. 3. 28.
15. Practice Makes Perfect / median 123456789101112def median(lst): lst = sorted(lst) if len(lst) % 2 ==0: print (lst[len(lst)/2-1]+lst[len(lst)/2])/2.0 return (lst[len(lst)/2-1]+lst[len(lst)/2])/2.0 else: print lst[len(lst)/2] return lst[len(lst)/2] median([1,1,2])median([7,3,1,4])Colored by Color Scriptercs 너저분하지만 나름대로 최선을 다한 풀이. 2017. 3. 28.