Algorithm/Programmers
[Programmers] 코딩테스트 입문 #5 (with Python)
j4ko
2024. 4. 30. 23:59
728x90
반응형
목차
수열과 구간 쿼리 4
https://school.programmers.co.kr/learn/courses/30/lessons/181922
def solution(arr, queries):
for query in queries:
s, e, k = query[0], query[1], query[2]
for i, v in enumerate(arr):
if s <= i <= e:
if i % k == 0:
arr[i] = arr[i] + 1
return arr
if __name__ == '__main__':
print(solution([0, 1, 2, 4, 3], [[0, 4, 1], [0, 3, 2], [0, 3, 3]]))
2트에 성공했다 문제 지문에서 요구하는 조건을 순서대로 처리했다. 문제를 살펴보면 k가 0이 되기에 이 부분을 처리해하지만 테스트케이스에서는 k가 0이 되진 않나보다.
배열의 길이를 2의 거듭제곱으로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/181857
# https://school.programmers.co.kr/learn/courses/30/lessons/181857
def solution(arr):
for v in range(len(arr)):
target = 2 ** v
if len(arr) == target:
return arr
if len(arr) < target:
padding = target - len(arr)
arr.extend([0 for _ in range(padding)])
return arr
if __name__ == '__main__':
print(solution([1, 2, 3, 4, 5, 6]))
print(solution([58, 172, 746, 89]))
수열과 구간쿼리3
https://school.programmers.co.kr/learn/courses/30/lessons/181924
def solution(arr, queries):
for query in queries:
s, e = query[0], query[1]
arr[s], arr[e] = arr[e], arr[s]
return arr
if __name__ == '__main__':
arr = [0, 1, 2, 3, 4]
queries = [[0, 3], [1, 2], [1, 4]]
solution(arr, queries)
728x90
반응형