알고리즘 4

[백준] 1946번 신입 사원 파이썬(Python) 풀이

1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net [문제] [코드] import sys input = sys.stdin.readline case = int(input()) for _ in range(case): N = int(input()) total = [] for _ in range(N): a, b = map(int, input().split()) total.append((a, b)) total.sort(key=lambda x: x[0]) cnt = 1 check = total[0][1..

[Deep한 머신러닝] Boosting 부스팅 2편(GradientBoosting Regression)

1. Boosting 부스팅 핸즈온 머신러닝의 앙상블 (https://eumgill98.tistory.com/20)을 공부하다 보니 다른 앙상블 기법들은 이해하기 쉬웠으나 Boosting 부스팅이 조금 더 자세히 살펴볼 필요가 있다고 생각되어서 (수식적인 이해를 할 식들이 많다) Deep한 머신러닝의첫 번째 주제로 선택하게 되었다 이번 글에서는 Boosting 깊이 있게 살펴 보려고 한다 포괄적인 이해를 원한다면 위의 앙상블 포스팅 링크를 참조해주기를 바란다 1.2.1 Gradient Boosting - Regression 오늘 알아볼 Boosting 기법은 Gradient Boosting 그중에서도 Regression이다 Classfication과 Regression의 수식이 조금 다르기 때문에 비교적..

[백준] 1654번 랜선 자르기 파이썬 풀이

1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net [문제] [코드] import sys input = sys.stdin.readline k, n = map(int, input().split()) LAN_LIST = [] for _ in range(k): LAN_LIST.append(int(input())) start = 1 end = max(LAN_LIST) while start = n: result = mid start = mid + 1 else: end = mid - 1 prin..

[백준] 12018번 Yonsei TOTO 파이썬 풀이

12018번: Yonsei TOTO 연세대학교 수강신청이 얼마 전부터 바뀌어, 마일리지 제도로 바뀌었다. 이 제도는 각각의 학생들에게 마일리지를 주어 듣고 싶은 과목에 마일리지를 과목당 1~36을 분배한다. 그리고 모두 분배 www.acmicpc.net [문제] [코드] import sys input = sys.stdin.readline n,m = map(int, input().split()) result =[] for _ in range(n): p, l = map(int, input().split()) l_list = list(map(int,input().split())) l_list.sort(reverse=True) if p < l : result.append(1) else: result.append..