programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr computers = [[1, 1, 0, 0], [1, 1, 0 0], [0, 0, 1, 1], [0, 0, 1, 1]] n = 4인 그래프에서 visited = [0] * 4 배열을 생성한다. visited[1] = 1이면 1번 그래프는 이미 방문한 것이다. 0, 1, 2, 3번 그래프를 순회하면서 -> 0번에서 1번 그래프가 연결되어 있다면 -> 이미 연결되어 방..
DataFrame Grouping import numpy as np import pandas as pd my_dict = {'학과': ['컴퓨터', '체육교육과', '컴퓨터', '체육교육과', '컴퓨터'], '학년': [1, 2, 3, 2, 3], '이름': ['홍길동', '김연아', '최길동', '아이유', '신사임당'], '학점': [1.5, 4.4, 3.7, 4.5, 3.8]} df = pd.DataFrame(my_dict) display(df) ########################################################### # 학과를 기준으로 grouping # Series를 grouping하는 개념 dept = df['학점'].groupby(df['학과']) displ..
Random seed 고정 0 이상 10 미만의 정수형 난수를 균등분포로 추출해서 6행 4열짜리 DataFrame 생성 index와 column은 따로 지정하지 않는다. 결측치 NaN 일반적으로 NaN은 결측치 취급한다. 결측치 처리 법 중 하나: 결측치가 들어가 있는 행 삭제 편하고 좋지만, 다른 열에 존재하는 데이터까지 날아가게 된다. 만약, 결측치가 몇개 안된다면 삭제하는게 좋을 수 있다. 그러나 일반적으로는 결측치를 다른 값으로 대체해서 사용한다. 평균값, max, min 등등 다른 값으로 대체 결측치 제거 import numpy as np import pandas as pd from datetime import date, datetime, timedelta # column과 index를 설정한다..
DataFrame의 결합 (Merge) Database Table의 join 기능 두 개의 DataFrame을 연결시켜서 새로운 DataFrame을 만든다. 학번을 기준으로 JOIN => 학번이 같은 것만 뽑혀서 나온다. INNER JOIN : INTERSECT FULL OUTER JOIN : UNION LEFT OUTER JOIN : (df1-df2) + INTERSECT RIGHT OUTER JOIN : (df2-df1) + INTERSECT import numpy as np import pandas as pd data1 = {'학번': [1, 2, 3, 4], '이름': ['이지안', '박동훈', '이순신', '강감찬'], '학년': [2, 4, 1, 3]} data2 = {'학번': [1, 2, ..
DataFrame이 제공하는 함수들 (집계함수, 통계기반 함수..) 기댓값 (expected value) 어떤 확률을 가진 사건을 무한히 반복했을 때, 얻을 수 있는 값의 평균으로 기대할 수 있는 값. ### 주사위 1개를 던지는 사건을 무한히 반복했을 때의 기댓값은? import numpy as np result = np.random.randint(1,7,(1000000,)) print(result.mean()) # 3.50021.. 편차 (deviation) 확률변수 x와 평균 (기댓값)의 차이 편차를 이용하면 데이터의 흩어진 정도를 알기 쉽다. 편차의 합은 0 편차의 가장 큰 단점은, 데이터가 흩어진 정도를 하나의 숫자로 표현하기 힘들다는 것이다. 분산 (variance) 데이터의 흩어진 정도를 알..
꽤나 고생했는데 풀어내서 기분 좋다 ㅎㅋ return 값이 답보다 자꾸 작게 나와서 디버깅 해보니!! wating 리스트가 비면 현재 시간 cur을 return하라고 짰더니, 아직 다리를 건너고 있는 트럭이 다 건너지 못해도 return해버려서 그렇다. 따라서 waiting 리스트가 비더라도, time 리스트의 모든 값이 bridge_length를 넘겨야 cur + 1를 return하도록 코드를 수정하니 정답!! cur + 1를 리턴한 이유는, 다 건넜을 때 + 1초 후에 트럭이 다리를 완전히 빠져 나가는 시간이기 때문이다. from collections import deque def solution(bridge_length, weight, truck_weights): waiting = deque(tru..
programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr def solution(progresses, speeds): res = [] for p, s in zip(progresses, speeds): if (100-p) % s == 0: res.append((100-p)//s) else: res.append((100-p)//s+1) d = {} for i in range(len(res)): # 처음~i번째 요소들 중 가..