1. lambda 함수 이름 없이 함수처럼 쓰는 익명함수 lambda (parameter) : (return) (condition) 구조 return 값은 보통 한줄정도로 짧게 사용을 권장하지는 않으나 여전히 사람들이 많이 씀 왜 권장하지 않느냐? 테스트 하기 어려움, 이해하기 어려움, 함수의 docstring도 불가능 2. map 시퀀스형 데이터 각 요소에 특정한 함수를 적용시켜주는 함수 여러개의 파라미터를 갖는 함수라면 여러개의 리스트를 받을 수 있음 a = [1,2,3,4,5] f = lambda x:x**2 list(map(f,a)) [1,4,9,16,25] f = lambda x,y : x+y list(map(f,a,a)) [2,4,6,8,10] 이해하기 어려워 사용을 권장하지는 않는다 f = ..
1. 직사각형에 자연수를 순서대로 집어넣기 rows * columns 직사각형에 1,2,3,...을 순서대로 집어넣을려면 matrix = [ [row * columns + (column+1) for column in range(columns)] for row in range(rows)] rows = 4 columns = 3 matrix = [[row*columns + (columns+1) for column in range(columns)] for row in range(rows)] print(matrix) [[1,2,3],[4,5,6],[7,8,9],[10,11,12]] 2. 직사각형 배열에서 열을 뽑는 방법 j+1열을 뽑고 싶으면 [row[j] for row in matrix] j = 2 [row[j..
1. argument 1-1) keyword argument 함수에 parameter의 이름을 입력하여 값을 넘기는 방식 def f(x,y): return x+y f(1,2) 3 f(x=1,y=2) ###keyword argument 3 1-2) default argument 함수의 paramter의 기본값을 지정해놓은 방식 default가 없는 인자는 디폴트 인자 앞에 와야함 def f(x,y,z=4): return x+y*z f(1,2) 9 z에 값이 들어가지 않고 z=4인 기본값을 넣고 y=2를 넣은 것이라고 인식을 함 f(1,2,5) 11 z에 기본값인 z=4를 넣지 않고 z=5라고 사용자가 직접 지정을 해서 넣어줌 2. asterisk 2-1) variable-length 함수 정의에서 인자에 ..
1. 객체(object) 속성(attribute)과 행동(action)을 가짐 속성은 변수로 행동은 함수로 표현 파이썬은 객체 지향 언어이다. 모든 데이터는 객체로 표현되거나 객체 사이의 관계로 표현된다 여러 물체들을 객체로 표현하여 실제 세상을 모델링 예) 인공지능 축구 프로그램의 축구선수 객체 : 축구선수는 인공지능 프로그램에서 하나의 객체다 행동 : 공을 찬다, 패스한다 속성 : 이름, 포지션 2. class 객체의 설계도 함수명이 snake case(소문자 사용, 단어 사이에는 _로 연결), 객체명은 보통 camel case(각 단어 첫글자를 대문자)를 따른다 class라는 예약어를 사용 class (이름) (상속 객체): 속성 행동 부모 객체는 보통 상속 객체에 object(생략 가능함) 인스턴..
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 전력망을 둘로 나누기 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr n개의 송전탑이 전선을 통해 하나의 트리형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이 때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추려고 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한..
1. 문제 복서 선수들의 몸무게 weights와 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return하도록 solution 함수를 완성해주세요 1. 전체 승률이 높은 복서의 번호가 앞쪽으로 갑니다. 아직 다른 복서랑 붙어본 적이 없는 복서의 승률은 0%로 취급합니다. 2. 승률이 동일한 복서의 번호들 중에서는 자신보다 몸무게가 무거운 복서를 이긴 횟수가 많은 복서의 번호가 앞쪽으로 갑니다. 3. 자신보다 무거운 복서를 이긴 횟수까지 동일한 복서의 번호들 중에서는 자신 몸무게가 무거운 복서의 번호가 앞쪽으로 갑니다. 4. 자기 몸무게까지 동일한 복서의 번호들 중에서는 작은 번호가 앞쪽으로 갑니다. 2. 제한사항 3. 예시 ..