본문 바로가기

2017/0572

머신러닝(Machine Learning) 1장 - 용어와 개념 설명 - 머신러닝(Machine Learning) 1장- 용어와 개념 설명 - 머신러닝은 과연 무엇인가? 머신러닝은 일종의 소프트웨어이다. 일반적으로 사용하는 웹과 앱과 같은 서비스를 제공해주는 기능을 수행한다. 현재 나와 있는 다양한 소프트웨어들은 프로그래머들에 의해 어떻게 어떤 기능을 수행하라는 것이 다 정해져 있다. 하지만 실제 상황에서 항상 그러한 조건이 맞아 떨어지는 것은 아니다. 예를 들면 메일을 받을 때 스팸 메일인지 아닌지를 알기 위한 조건이 매우 많이 필요하다. 실재로 개발자들이 일일이 나누어 코드를 작성할 수가 없다. 또한 자율 주행 자동차에 대한 예시를 보아도 모든 길에 대해 코드를 작성하여 자율적으로 주행을 하도록 만드는 일은 매우 힘들다. 그래서 1959년 Arthur에 의해 일일이 프로그.. 2017. 5. 22.
[백준 알고리즘] 10817번 세 수 세 수 세 정수 A, B, C가 주어진다. 이 때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. #include using namespace std; int main(){int x;int y;int z;cin >> x;cin >> y;cin >> z;if (x>=y){if(x 2017. 5. 20.
[백준 알고리즘] 10164번 격자상의 경로 격자상의 경로 행의 수가 N이고 열의 수가 M인 격자의 각 칸에 1부터 N×M까지의 번호가 첫 행부터 시작하여 차례로 부여되어 있다. 격자의 어떤 칸은 ○ 표시가 되어 있다. (단, 1번 칸과 N × M번 칸은 ○ 표시가 되어 있지 않다. 또한, ○ 표시가 되어 있는 칸은 최대 한 개이다. 즉, ○ 표시가 된 칸이 없을 수도 있다.) 행의 수가 3이고 열의 수가 5인 격자에서 각 칸에 번호가 1부터 차례대로 부여된 예가 아래에 있다. 이 격자에서는 8번 칸에 ○ 표시가 되어 있다.격자의 1번 칸에서 출발한 어떤 로봇이 아래의 두 조건을 만족하면서 N×M번 칸으로 가고자 한다. 조건 1: 로봇은 한 번에 오른쪽에 인접한 칸 또는 아래에 인접한 칸으로만 이동할 수 있다. (즉, 대각선 방향으로는 이동할 수 .. 2017. 5. 20.
[백준 알고리즘] 9461번 파도반 수열 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. #include using namespace std; long long arr[100];long long dp[100]; int main(){int x;cin >> x; arr[1] = 1;arr[2] = 1;arr[3] =.. 2017. 5. 20.
[백준 알고리즘] 4673번 셀프 넘버 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다.33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ...n을 d(n)의 생성자라.. 2017. 5. 20.
파이썬(python) 강의 6장 - 컨테이너와 반복문 - 파이썬(python) 강의 6장- 컨테이너와 반복문 - 앞선 장에서 변수에 대해서 알아보았다. 또한 다양한 데이터의 형태가 존재한다는 것도 알았다. 이번 장에는 컨테이너에 대해 알아 볼 것이다. 컨테이너는 말 그대로 무언가를 담고 있다는 것을 의미한다. 숫자나 문자열 하나만을 가지고 있는 것이 아니라 컨테이너는 하나 이상의 숫자나 문자열을 가지고 있는 묶음이라고 할 수 있다. 컨테이너의 종류에도 리스트(list), 튜플(tuple) 등등이 있는데 여기서는 리스트에 중점을 두겠다. type의 형태를 살펴보면 list로 나타나게 된다. 리스트에는 숫자와 문자열들이 다 같이 올 수 있고 각 요소들을 원소라고 한다. 원소들은 첫 번째부터 0이라는 숫자를 1씩 더해가면서 가지게 된다. 따라서 두 번째에 오는 원소.. 2017. 5. 19.
[백준 알고리즘] 3053번 택시 기하학 택시 기하학 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.D(T1,T2) = |x1-x2| + |y1-y2|두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오. #include#include #define M_PI 3.14159265358979323846 using namespace std; int.. 2017. 5. 18.
[백준 알고리즘] 2839번 설탕배달 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. #include using namespace std; int main(){int kg;int smallSize=0; //.. 2017. 5. 18.
[백준 알고리즘] 2577번 숫자의 개수 숫자의 개수 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. #include #include using namespace std; int main(){int arr[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };string num = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };int x;cin >> x.. 2017. 5. 17.
[백준 알고리즘] 2438번 별찍기 - 1 별찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 * ** *** **** ***** #includeusing namespace std; int main(){int x;cin >> x;for (int i = 0; i < x; i++){for (int j = 0; j 2017. 5. 17.