Python
(문제 풀이)파이썬, python: 자료구조
하방주인장
2023. 5. 8. 18:00
목차
1. 배열
문제 1: 2차원 배열에서 모든 원소의 합 구하기
my_array = [[1, 2, 3], [4, 5, 6],[7, 8, 9]]
def solve(array):
total_sum = 0
for i in range(len(array)):
for j in range(len(array[i])):
total_sum += array[i][j]
return total_sum
solve(my_array)
>>> 45
문제 2: 각 행의 합 구하기
given_array1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
given_array2 = [[1, 2],[3, 4],[5, 6],[7, 8],[9, 10]]
def solve1(given_array):
result_list = []
for i in range(len(given_array)):
sum_value = sum(given_array[i])
result_list.append(sum(given_array[i]))
return result_list
solve1(given_array1)
>>> [6, 15, 24]
def solve2(given_array):
sum_list = []
for i in range(len(given_array)):
row_sum = 0
for j in range(len(given_array[i])):
row_sum += given_array[i][j]
sum_list.append(sum(given_array[i]))
return sum_list
solve2(given_array2)
>>> [3, 7, 11, 15, 19]
2. 큐
문제 1: N개의 원소를 가진 배열이 주어졌을 때, 배열의 원소를 왼쪽으로 K번씩 회전시키는 프로그램을 작성
- 예를 들어, 배열 [1, 2, 3, 4, 5]를 왼쪽으로 2번 회전시키면 [3, 4, 5, 1, 2]가 된다.
nums1 = [1,2,3,4,5]
def solve(nums, k):
queue = deque(nums)
for _ in range(k):
queue.append(queue.popleft())
return list(queue)
solve(nums1, 3)
>>> [4, 5, 1, 2, 3]