전체 글
-
[BFS/DFS] DFS와 BFS(1260)(C++)BOJ C++ 알고리즘 공부 2022. 4. 24. 20:03
1. 문제 개요 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 2. 입출력 3. 문제 풀이 깊이 우선 탐색 (Depth-First Search): 최대한 깊이 내려간 후, 더이상 깊이 갈 곳이 없을 경우 옆으로 이동 너비 우선 탐색 (BFS, Breadth-First Search): 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동 DFS, BFS는 특징에 따라 사용에 적합한 문제 유형이 있다. 그래프의 모든 정점을 방문하는 것이 주요한 문제인 경우 DFS, BFS 두 가지 방..
-
핸즈온 머신러닝[2] 머신러닝 프로젝트 처음부터 끝까지(1)핸즈온머신러닝 2022. 4. 24. 18:57
https://www.youtube.com/watch?v=KMa5z3amwv4&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=7 캘리포니아 주택 가격 예측 인구, 중간 소득 등의 특성을 사용하여 중간 주택 가격 예측 다중 회귀: 여러개의 특성 단변량 회귀: 하나의 수치를 예측 (반대: 다변량 회귀) 회귀의 성능 측정: 평균 제곱근 오차(RMSE), 평균 절대 오차(MAE) # 파이썬 ≥3.5 필수 import sys assert sys.version_info >= (3, 5) # 사이킷런 ≥0.20 필수 import sklearn assert sklearn.__version__ >= "0.20" # 공통 모듈 임포트 import numpy as np import os ..
-
핸즈온 머신러닝[1] 한눈에 보는 머신러닝핸즈온머신러닝 2022. 4. 23. 20:30
https://www.youtube.com/watch?v=kpuRasV_Q9k&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=1 1.4 머신러닝 시스템의 종류 훈련 감독 방법: 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 훈련 시점: 온라인 학습과 배치 학습 모델 생성: 사례 기반 학습과 모델 기반 학습 지도 학습: 정답이 있는 경우 선형 회귀 로지스틱 회귀 서포트 벡터 머신 결정 트리와 앙상블 신경망 비지도 학습: 정답이 없는 경우 k-평균 DBSCAN 가우시안 혼합 오토인코더 준지도 학습: 정답이 일부만 있는 경우 강화 학습: 행동의 보상이 있는 경우 온라인 학습 적은 데이터를 사용해 점진적으로 훈련 실시간 시스템이나 메모리가 부족한 경우에 사용 배치 학습 ..
-
[그리디] 잃어버린 괄호(15410)(C++)BOJ C++ 알고리즘 공부 2022. 4. 17. 12:22
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 1. 문제 개요 세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다. 그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다. 괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 2. 입출력 3. 문제 풀이 식의 값이 최소가 되기 위해서는 빼주는 값이 최대한 많아야 한다. 55-50+40 다음과 같..
-
[그리디] 주유소 (13305)(C++)BOJ C++ 알고리즘 공부 2022. 4. 3. 17:13
https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 1. 문제 개요 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. ..
-
[그리디] 도서관 (1461)(C++)BOJ C++ 알고리즘 공부 2022. 4. 3. 17:04
https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 1. 문제 개요 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책들의 원래 위치가 주어질 때, 책을 모두 제자리에 놔둘 때 드는 최소 걸음 수를 계산하는 프로그램을 작성하시오. 세준이는 한 걸음에 좌표 1칸씩 가며, 책의 원래 위치는 정수 좌표이다. 책을 모두 ..
-
[수학] 소수(2581), 약수 구하기(2501)BOJ C++ 알고리즘 공부 2022. 3. 27. 19:33
https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 1. 문제 개요 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 2. 전체코드 #include using names..
-
[수학] 카잉 달력(6064) (C++)BOJ C++ 알고리즘 공부 2022. 3. 20. 15:25
https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net 1. 문제 개요 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현하였다. 의 다음 해를 표현한 것을 이라고 하자. 만일 x < M 이면 x' = x + 1이고, 그렇지 않으면 x' = 1이다. 같은 방식으로 만일 y < N이면 y' = y + 1이고, 그렇지 않으면 y' = 1이다. 은 그들 달력의 마..