TIL(24.06.13.)

codataffee·2024년 6월 13일

TIL

목록 보기
66/135
post-thumbnail

#INTRO

오 운 완

이제 안하면 몸이 아프네.


#코드카타 (09:00 ~ 10:00)

  • KATA #61

  • PYTHON

    • 행렬 곱셈 ?

      행렬 곱셈은 두 행렬 A와 B를 곱하여 새로운 행렬 C를 만드는 연산이다.
      이 연산은 다음 조건을 만족할 때 가능 :
      행렬 A의 열(column)의 수와 행렬 B의 행(row)의 수가 같아야 한다.

    • 행렬 A의 크기가 𝑚×𝑛 이고, 행렬 B의 크기가 𝑛×𝑝일 때,
      결과 행렬 C의 크기는 𝑚×𝑝가 된다.

    • 결과 행렬 C의 각 원소 𝐶[𝑖][𝑗] 는 A의 i번째 행과 B의 j번째 열의 원소를 곱하여 더한 값.

      예시)

def solution(arr1, arr2):
    # arr1의 행과 열의 크기
    n1 = len(arr1)         # arr1의 행(row)의 개수
    m1 = len(arr1[0])      # arr1의 열(column)의 개수
    
    # arr2의 행과 열의 크기
    n2 = len(arr2)         # arr2의 행(row)의 개수
    m2 = len(arr2[0])      # arr2의 열(column)의 개수
    
    # 결과 행렬 초기화 (크기는 n1 x m2)
    # for _ in range(n1)에서 _는 파이썬에서 반복문 안의 변수를 사용하지 않을 때 
    # 관례적으로 사용되는 이름으로, 변수명을 명시하지 않고 반복문을 실행할 수 있다.
    # [0] * m2는 0으로 채워진 길이 m2의 리스트를 생성한다.
    # for _ in range(n1)는 위에서 생성한 리스트를 n1번 반복하여 
    # 결과적으로 𝑛1×𝑚2 크기의 2차원 리스트를 생성한다.
    result = [[0] * m2 for _ in range(n1)]
    # 예) 𝑛1 = 3 이고 𝑚2 = 2 인 경우 :
    # result = [[0, 0], [0, 0], [0, 0]]
    
    # 행렬 곱셈 수행
    for i in range(n1):            # 행렬 arr1의 각 행을 반복
        for j in range(m2):        # 행렬 arr2의 각 열을 반복
            for k in range(m1):    # 행렬 곱셈을 위해 arr1의 열과 arr2의 행을 반복
                result[i][j] += arr1[i][k] * arr2[k][j]
                # 행렬 arr1의 i번째 행과 행렬 arr2의 j번째 열의 원소를 곱한 후, 
                # 결과를 result[i][j]에 더하기
    
    return result

#머신러닝 회귀 특강 세션 (10:00 ~ 12:00)


#머신러닝 심화 강의 정리 (14:00 ~ 20:00)

  • ML PYTHON CLASS#4
    예측 모델링 프로세스

  • 심화 실습 완료 (정리 예정)


#머신러닝 개인과제 (21:00 ~ 22:00)

  • 얼른 끝내고 제출해야겠다!

#OUTRO

오늘의 한 줄.

내 시간 시간 시간 !

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글