프로그래머스(2)
-
[프로그래머스] 행렬의 곱셈(python)
행렬의 곱셈(python) 문제 풀이 행렬 곱에 대해 알아야 하는 문제였습니다. 위의 풀이는 제출 시 런타임에러가 났는데, 불필요하게 append()함으로써 난 것으로 파악했습니다. 아래 풀이처럼 미리 행렬 arr1과 arr2의 행과 열의 수를 변수로 선언해 두고. 결과를 저장할 answer 리스트를 초기화함으로써 해결할 수 있습니다. # 깔끔한 풀이 def solution(arr1, arr2): # arr1과 arr2의 행과 열의 길이를 변수로 선언 r1, c1 = len(arr1), len(arr1[0]) r2, c2 = len(arr2), len(arr2[0]) # 결과를 저장할 2차원 리스트 초기화 answer = [[0] * c2 for _ in range(r1)] # arr1의 각 행과 arr..
2024.02.02 -
[프로그래머스] 두 개 뽑아서 더하기, 모의고사(python)
두 개 뽑아서 더하기, 모의고사(python) 문제 1. 두 개 뽑아서 더하기 풀이 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1, len(numbers)): answer.append(numbers[i] + numbers[j]) return sorted(set(answer)) #중복 제거. 오름차순 정렬. N은 배열 numbers의 길이. 시간복잡도는 모든 조합을 확인하기 위한 중첩 반복문에서 O(N^2), 이를 정렬하는 데에 O(N^2 log(N^2)) 최종 O(N^2 log(N^2)) 문제 2. 모의고사 풀이 def solution(answers): answer = [] # 시험이 최대 10000문..
2024.02.01