그리디 알고리즘 Greedy = 탐욕 말 그대로 각 단계에서 가장 욕심을 부려서 최선의 선택을 하는 것 근데 이게 결과적으로 최선의 선택으로 통하는 경우 / 통하지 않는 경우가 있다. 당연히 그리디 알고리즘은 이 탐욕법이 통하는 문제에 쓰는 것 1417 국회의원 선거 오랜만에 알고리즘 하니까 머리가 안돌아간다... A = 다솜, B, C 총 3명의 후보가 있다 치고, A: 5, B: 7, C: 7 A+B+C = 19, 19/3 = 6.xxx.... 대충 반올림하면 7 이고 -5 하면 2 이렇게 생각해봤다 (사실 더 생각하기 귀찮았다) 근데 후보 1명이면 어칼려고....... 당연히 틀렸다. 그래서 다시 생각을 해봤다. A 기준 B, C 를 정렬하면 5 < 7, 7 한명을 매수하면 6 | 6, 7 다시 정..
모든 순간의 다익 + dp로 생각하면 될듯 11403 경로 찾기 import sys input = sys.stdin.readline N = int(input()) graph = [] for _ in range(N): graph.append(list(map(int, input().split()))) for i in range(N): for j in range(N): for k in range(N): if graph[j][k] == 1 or (graph[j][i] == 1 and graph[i][k] == 1): graph[j][k] = 1 for x in graph: for y in x: print(y, end = " ") print("") 1389 케빈 베이컨의 6단계 법칙 import sys input..
선행 개념 스택, 큐, 재귀 개념을 먼저 공부하고 들어가자. Stack 스택은 박스 쌓기로 생각하면 편하다. 나중에 쌓인 것이 가장 먼저 들릴 수 있는 것처럼, 이러한 구조를 LIFO(Last In First Out)라 한다. 파이썬에서는 리스트로 스택을 구현할 수 있다. stack = [] stack.append(1)# [1] stack.append(2)# [1, 2] stack.append(3)# [1, 2, 3] stack.pop()# [1, 2] stack.append(4)# [1, 2, 4] pop() 메소드는 가장 뒤의 데이터를 제거하고, append는 가장 뒤에 데이터를 삽입한다. 백준 10828 스택 import sys n = int(input()) stack = [] cmd = [sys...
이전에 배운 숫자형 / 범주형 변수를 통해 단변량분석을 배울 수 있다. 숫자형 변수는 min, max, mean, std, 사분위수 등으로 정리 -> Histogram, Density plot, Box plot 등으로 시각화 범주형 변수는 빈도 수 / 비율 등으로 정리 -> Bar plot / Pie chart 등으로 시각화 환경 준비 단변량 분석 실습에 필요한 환경을 세팅해보자. 먼저 라이브러리를 불러오자. import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns 필요한 데이터셋을 불러오자. 유명한 데이터셋인 타이타닉이다. path = 'https://raw.githubusercontent.co..