본문 바로가기

NumPy3

[코딩테스트 Python 오답 노트] 2차원 배열 대각선 합 (i+j≤k) 마스킹으로 해결하기 1. 문제 정보문제 이름:이차원 배열 대각선 순회하기언어: Python난이도: Lv.0소요 시간: 15분첫 시도 결과: 런타임 오류 + 잘못된 접근2. 문제를 어떻게 해석했는가? (사고 시작점)i는 행 번호, j는 열 번호입니다.i + j ≤ k라는 것은"왼쪽 위에서 대각선 방향으로 k 이하인 영역"을 의미합니다.k = 1일 때 선택되는 위치:(0,0), (0,1), (1,0)문제를 한 문장으로 요약하면?i + j ≤ k인 위치의 값만 더하는 문제이해한 핵심 조건(i, j) 좌표 조건 필터링조건을 만족하는 값만 선택 후 합산이 문제는 어떤 사고를 요구하는가?집합 사고 (조건 필터링)절차적 사고 (이중 반복)👉 여기서 이미 오해가 있었는가?하지만 나는 “행렬 연산 문제”라고 착각함3. 내가 처음 작성한 .. 2026. 3. 26.
엑셀처럼 보이지만 완전히 다르다! 파이썬으로 배우는 행렬의 기초 Ⅰ. 행렬(Matrix)이란?행렬(matrix)은 숫자들을 행(row) 과 열(column) 로 배열한 구조로,엑셀처럼 데이터를 담지만, 수학적으로 계산할 수 있다는 점이 다릅니다.예를 들어$$ A = \begin{bmatrix} 1& 2& 3 \\ 4 & 5& 6 \end{bmatrix} $$이 행렬은 2개의 행(row)과 3개의 열(column)을 가진 2×3 행렬입니다. 이전에 공부했던 벡터에서 한 차원을 끌어올린 개념으로,행렬은 사실 벡터(Vector)를 확장한 형태입니다.벡터는 1차원 데이터(예: [1, 2, 3])로, 한 줄에 나열된 값의 모음행렬은 여러 벡터를 위아래로 쌓은 2차원 데이터즉, 행렬=벡터를 여러 개 모아놓은 것벡터 한 개는 “하나의 관측치(특징 집합)”이고,여러 벡터를 모으면.. 2025. 11. 4.
프로그래머스 선물 주고받기 문제: 교차표 vs 벡터 방식으로 풀기 (Python) 이번 글에서는 프로그래머스의 「선물 주고받기」 문제를 통해친구들 간의 주고받은 선물 기록을 데이터 분석 관점에서 풀어보겠습니다.문제는 간단합니다.“누가 누구에게 선물을 주었는지”에 대한 기록이 주어졌을 때,다음 달에 누가 가장 많은 선물을 받게 될지를 계산하는 것입니다.예를 들어"A B"는 “A가 B에게 선물을 줬다”는 의미입니다.이 기록을 바탕으로 각 친구가얼마나 많이 선물을 줬는지,얼마나 많이 받았는지,그리고 친구 간의 균형이 어떤지를 계산해야 합니다.이 문제는 단순히 문자열을 처리하는 문제로 보일 수 있지만,데이터 구조적 사고를 연습하기에 정말 좋은 문제입니다.https://school.programmers.co.kr/learn/courses/30/lessons/258712?language=pyth.. 2025. 10. 20.