Problem Solving83 [Python] 4.1. FrogRiverOne https://app.codility.com/programmers/lessons/4-counting_elements/ 4. Counting Elements lesson - Learn to Code - Codility Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. app.codility.com 정답률: 100% 시간복잡도: O(N) def solution(X, A): check = [1] + [0] * X cnt = 0 for K in range(len(A)): if check[A[K]] == 0.. 2021. 3. 13. [Python] 3.3. TapeEquilibrium https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 정답률: 100% 시간복잡도: O(N) def solution(A): lst = [] total = sum(A) left = 0 for P in range(len(A)-1): left += A[P] right = total - left diff = abs(right-left) lst.append(diff) return min(lst) 2021. 3. 11. [Python] 3.2. PermMissingElem https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 정답률: 100% 시간 복잡도: O(N) or O(N * log(N)) def solution(A): N = len(A) total = int((N+1)*(N+2)/2) answer = total - sum(A) return answer 2021. 3. 11. [Python] 3.1. FrogJmp https://app.codility.com/programmers/lessons/3-time_complexity/ 3. Time Complexity lesson - Learn to Code - Codility Count minimal number of jumps from position X to Y. app.codility.com 나의 답안 - 정답률 100%, 시간복잡도: O(1) def solution(X, Y, D): if X == Y: return 0 answer = qoutient = (Y-X)//D remainder = (Y-X)%D if remainder != 0: answer = qoutient+1 return answer 2021. 3. 7. [Python] 2.2. OddOccurrencesInArray https://app.codility.com/programmers/lessons/2-arrays/ 2. Arrays lesson - Learn to Code - Codility Rotate an array to the right by a given number of steps. app.codility.com 나의 답안 - [66%] 정답 def solution(A): dic = dict() for v in A: if v not in dic.keys(): dic[v] = 1 else: dic[v] += 1 answer = min(dic.items(), key=lambda k:k[1]) return answer[0] 타인의 모범답안 - [100%] 정답 비트연산을 통해서 element가 짝수인지 홀수인지 판.. 2021. 3. 7. [Python] 2.1. CyclicRotation https://app.codility.com/programmers/lessons/2-arrays/ 2. Arrays lesson - Learn to Code - Codility Rotate an array to the right by a given number of steps. app.codility.com 빈 배열이 들어올 경우에는 그대로 리턴한다 빈 배열이 아닌 경우 입력값 K에 대한 나머지를 구하고 다음 인덱스 값을 계산해준다 만약 다음 인덱스 값이 음수 일 경우, 배열의 크기를 더해서 인덱스 값을 보정해준다. def solution(A, K): if len(A) == 0: return A rotate = K % len(A) answer = [] for idx in range(len(A)): nex.. 2021. 3. 6. [Python] 1.1. BinaryGap https://app.codility.com/programmers/lessons/1-iterations/ 1. Iterations lesson - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 자연수를 이진수로 바꾼 후 1의 인덱스를 저장한다. 이후 인덱스간 차이를 계산해서 가장 큰 값을 최대값으로 업데이트해서 답을 구한다. def solution(N): bi = str(bin(N)) bi = bi[2:] max = 0 lst = [] for idx in range(len(bi)): if bi[idx] == "1": lst.append(idx) for.. 2021. 3. 6. [Python]3678. 카탄의 개척자 https://www.acmicpc.net/problem/3678 3678번: 카탄의 개척자 문제 "카탄의 개척자"는 많은 사람들이 즐기는 보드게임이다. 게임을 시작하려면, 먼저 게임판을 랜덤으로 만들어야 한다. 게임판은 육각형 타일로 이루어져 있으며, 각 타일은 자원을 하나씩 포함하고 있다. 자원은 총 다섯 가지 종류가 있으며, 점토, 재목, 양모, 곡물, 광석이다. 각 자원은 1부터 5까지 순서로 나타낼 수 있다. 랜덤을 이용해서 게임판을 만들면, 같은 자원이 인접한 타일에 있는 경우가 있을 수도 있다. 이런 배치를 매우 싫어하는 사람이 많다 www.acmicpc.net 처음에 개념잡는데 너무너무 오래걸렸다(...) 그래도 어려웠던 만큼, 공부는 진짜 많이 되었던 문제였다 :) 그리고 Python 최.. 2019. 5. 11. [Python]2616. 사업장에 흡연구역 설정하기 https://www.swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AV6j7zwKszsDFAXN&categoryId=AV6j7zwKszsDFAXN&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com Image에서 Filter 를 옮기면서 최대값을 찾는 문제이다. stride = 1 일때 반복횟수 iter = n-m + 1 을 구하고 Filter 기준점을 이동시키면서 최댓값을 연산, 비교한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 n, m = 5, .. 2019. 5. 11. 이전 1 2 3 4 5 6 7 8 ··· 10 다음 728x90 반응형