2차원 배열 회전
다음과 같은 2차원 배열이 있다고 할 때, 배열을 시계 방향으로 90도 회전하는 방법을 알아보자. nums = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 다음은 2차원 배열을 90도 회전하기 위한 함수이다. # 2차원 배열을 인자로 받아 90도 회전한 결과를 리턴하는 함수 def rotate(arrs): n = len(arrs) arrs_90 = [[0] * n for _ in range(n)] for i in range(n): for j in range(n): arrs_90[i][j] = arrs[n-1-j][i] return arrs_90 180도는 다음과 같다. 일정 규칙을 찾아, 인덱스를 적절하게 변경해주는 것이 중요하다. def rotate(arrs): n = len(arrs)..
2021. 8. 17.
최댓값 알고리즘
- 2이상의 길이를 가진, 숫자로만 구성된 리스트가 있을 때 최댓값을 산출하는 알고리즘을 알아보자. # 최댓값 구하기 알고리즘 # 임의의 리스트 생성 numbers = [3, 1, 2, 5, 4] # max_value 초기화 max_val = numbers[0] # 반복문을 통해 max value 산출 for i in range(1, len(numbers)): if max_val < numbers[i]: max_val = numbers[i] # 리스트의 최댓값 출력 print(max_val) - 그렇다면, 최댓값이 아니라 최댓값의 인덱스를 구하는 알고리즘은? # 최대값의 인덱스 구하기 # 임의의 리스트 생성 numbers = [3, 1, 2, 5, 4] # max_idx 초기화 max_val = 0 # ..
2021. 8. 9.