[Codility] Lesson14. MinMaxDivision (Python)
·
코딩 테스트
1.문제 https://app.codility.com/c/run/training77EUN5-7HZ/ Codility Your browser is not supported You should use a supported browser. Read more app.codility.com 2.풀이 어느 회사에 코딩테스트로 비슷한 문제가 나왔었던 문제. 그 당시에는 완전탐색 문제인 줄 알았는데 이 문제를 풀면서 이분탐색을 적용해서 푸는 문제였다는 것을 알았다. 아무리생각해도 어떻게 풀어야할지 몰라서 구글링해서 참고하였다.. ㅎㅎ case1. K == len(A) 일 경우 : 모든 원소의 sum 반환 case2. K >= len(A) 일 경우 : 만약 A=[1, 5], K=3 이면 [],[1],[5] 이므로 max..
[Codility] Lesson12. Chocolatesbynumber (python)
·
코딩 테스트
1. 문제 2. 풀이 def solution(N, M): x = 0 eat = [0] while(1): res = (x + M) % N if res == 0: break eat.append(res) x = x + M return len(eat) 처음에 while문으로 문제에 나온 그대로 풀다가 Time out... 그래서 풀이를 찾아보았다. 초콜릿을 먹는 개수는 N,M의 최대공약수의 배수 개수만큼 먹는다. 결국 최대공약수를 구하는 문제 3. 코드 def solution(N, M): a, b = N, M while(b): a, b = b, a % b gcd = a #최대공약수 answer = N // gcd return answer 참조 : https://killong.blogspot.com/2019/12..
[Codility] Lesson8. MaxDoubleSliceSum (Python)
·
코딩 테스트
1. 문제 https://app.codility.com/c/run/training7WK46H-9HS/ Codility Your browser is not supported You should use a supported browser. Read more app.codility.com 2.풀이 처음에 combination으로 만들수있는 인덱스(3개) 조합을 구하고 그 인덱스에 해당하는 합계를 구하니 시간초과가 났다 ㅜ,ㅜ 시간초과 해결 방법이 생각안나서 구글링으로 결국 해결,,, 전형적인 dp 알고리즘을 사용해서 풀어야하는 문제였다. 왼쪽-> 오른쪽 방향으로 배열의 누적 합을 미리 저장했었는데 왼쪽
[Codility] Lesson4. MissingInteger (Python)
·
코딩 테스트
1. 문제 app.codility.com/c/run/training67GEXN-3BR/ Codility Your browser is not supported You should use a supported browser. Read more app.codility.com 2.풀이 test case 딱 1개가 안풀렸던 문제. seq = 10005 길이의 마이너스 값이 섞인 integer로 구성된 배열 중 답이 101이 나와야하는데 계속 100이 나왔다. 그냥 단순히 최소 양수 int가 1부터이므로 pivot=1 로 시작하고 값을 비교해나가면서 pivot을 증가시키면 되었다. 마지막에 pivot을 return 너무 복잡하게 생각말고 단순하게 생각하고 문제푸는 습관을 길러야겠다. 3.코드 def solution..