본문 바로가기

Python78

[Python] 4.4. PermCheck 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 Task Score 100% Correctness 100% Performance 100% 시간복잡도 O(N) or O(N * log(N)) def solution(A): _A = sorted(A) _B = .. 2021. 3. 15.
[Python] 4.3. MissingInteger 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% (Task Score 100%, Correctness 100%, Performance 100%) 시간복잡도: O(N) or O(N * log(N)) def solution(A): _A = .. 2021. 3. 15.
[Python] 4.2. MaxCounters 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 정답률: 88% 시간복잡도:O(N + M) def solution(N, A): cnt = [0] * N maxcnt = 0 for K in range(len(A)): if A[K]-1 < N: cnt[A[K.. 2021. 3. 14.
[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.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.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.
728x90
반응형