일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- neural network
- 냥코 센세
- A Neural Algorithm of Artistic Style
- 딥러닝
- SQL
- 소인수분해
- 오일러 프로젝트
- 역전파
- 합성곱 신경망
- backpropagation
- Gram matrix
- deep learning
- bayesian
- mnist
- 비샤몬당
- project euler
- 신경망
- c#
- 수달
- 소수
- Python
- 자전거 여행
- 히토요시
- Autoencoder
- CNN
- 베이지안
- Convolutional Neural Network
- 전처리
- 오토인코더
- 역전파법
- Today
- Total
목록IT (69)
통계, IT, AI
1. 개요 문제는 이곳에서 확인할 수 있다.어떤 수열
1. 개요 문제는 이곳에서 확인할 수 있다. 50자리수 100개를 더한 뒤 처음 10자리의 숫자를 찾는 것이 목표이다. 2. Ver 1.0 어떤 언어를 사용하느냐에 따라서 구현의 복잡성이 달라질 수 있다. 여기서는 간단하게 파이선을 이용하도록 하자. 파이선으로는 자료 입력 부분을 제외하면 단 한줄로 답을 구할 수 있다. # -*- coding: utf-8 -*- data = """37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74324986199524741059474233309513058123726617309629 9194221336357416157252243056330..
1. 개요 문제는 이곳에서 확인할 수 있다. 먼저
1. 개요 문제는 이곳에서 확인할 수 있다. 어떤 숫자더미에서 상하좌우 및 대각선 방향으로 숫자 4개를 곱하여 가장 큰 값을 구하는 것이 목표이다. 2. Ver 1.0 인덱스를 맞추는 것은 귀찮은 일이므로 상하좌우 및 대각선 방향으로 4개의 숫자를 찾되 IndexOutOfRangeException이 발생하면 바로 다음의 경우를 찾는 식으로 구현한다. using System; using System.Collections.Generic; using System.Linq; class ProjectEuler { static void Main(string[] args) { string str_data = @"08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08..
1. 개요 문제는 이곳에서 확인할 수 있다. 200만보다 작은 소수의 합을 구하는 것이 목표이다. 소수를 찾는 데에는 에라토스테네스의 체를 이용한다. 예를 들어 2 이상 120 이하의 소수를 찾는다고 하자. 먼저 2를 남기고 2의 배수를 모두 지운다. 이후 3을 남기고 3의 배수를 모두 지운다. 다음 수인 4는 이미 지워졌으므로 5를 남기고 5의 배수를 모두 지운다. 이것을 120의 양의 제곱근보다 작은 정수 중 가장 큰 정수까지 반복하면 된다. 아래 그림은 이 방법에 대한 일러스트레이션이다. 2. Ver 1.0 using System; using System.Collections.Generic; using System.Linq; class ProjectEuler { static void Main(str..
1. 개요 문제는 이곳에서 확인할 수 있다. 합이 1000인 서로 다른 3개의 자연수 가운데, 가장 큰 수의 제곱이 나머지 두 수의 제곱의 합과 같은 자연수를 찾고 그것의 곱을 구하는 것이 목표이다. 2. Ver 1.0 가장 작은 자연수를
1. 개요 문제는 이곳에서 확인할 수 있다. 어떤 숫자 더미에서 인접한 13개의 숫자들의 곱의 최대값을 찾는 것이 목적이다. 2. Ver 1.0 여려운 문제는 아니었지만 생각보다 시간이 오래 걸렸다. 로직은 옳은 것 같은데 계속 답이 틀렸기 때문이다. 알고보니 인접한 숫자들을 곱할 때 그 결과를 int로 지정한 것이 잘못이었다. 그 곱이 int가 처리할 수 있는 범위를 넘어섰기 때문이다. 정수라고 하면 흔히 int로 선언하곤 했고 여기서 문제가 생긴 적이 없어서 쉽게 발견하지 못했다. int 대신 ulong을 사용하여 문제를 해결하였다. using System; using System.Text.RegularExpressions; using System.Linq; class ProjectEuler { st..
1. 들어가며코딩을 하다가 특정 순간에만 사용되고 이후로는 쓸 일이 없는 변수를 만들어야 했다. 상황을 간단하게 말하자면, 아래와 같은 dictionary에서 B,D,E에 해당하는 Value를 바꾸어야 했는데 B,D,E라는 정보는 더이상 사용되지 않았다. Dictionary weights = new Dictionary(); weights.Add("A", 75); weights.Add("B", 80); weights.Add("C", 67); weights.Add("D", 94); weights.Add("E", 78); weights.Add("F", 81); 2. 구현2.1. 최초 구현 처음에는 Key와 Value를 따로 선언하였다. 물론 문제 없이 컴파일이 되고 잘 돌아가지만 id와 w라는 변수는 이후로도..
1. 개요이것 저것을 하다보니 C#과 R을 연동할 일이 생겼다. 학습을 목적으로 Visual Studio없이 진행한다. 2. 준비(1) .Net Framework를 설치한 후 C# complier(csc.exe)가 존재하는지 확인한다. (2) R을 설치한다. (3) C#과 R을 연동시킬 수 있도록 도와주는 라이브러리, RDotNet을 설치한다. 공식 사이트에서는 nuget을 통하여 받도록 권장하고 있다. 여기에서 nuget의 window command line 최신 버전을 받자. 그리고 cmd를 켜고 nuget이 있는 폴더에서 nuget install R.NET.Community를 실행하자. DynamicInterop, R.NET.Community 폴더가 생성되면 잘 받은 것이다. 해당 폴더 안의 dll..
1. 개요 문제는 이곳에서 확인할 수 있다. 10,001번째 소수를 구하는 것이 문제의 목적이다. 2. Ver 1.0 어떤 수가 소수인지 판별하는 문제에 대해서는 예전에도 포스트한 적이 있다. 본 문제를 해결하는데에도 유사한 방법을 사용할 것이다. // javascript var prime = [2,3]; var prime_candidate = prime[prime.length-1]; while( prime.length < 10001 ){ prime_candidate += 2; var is_prime = ( function(){ var lim = Math.sqrt( prime_candidate ); for( p in prime ){ if( lim < p ) break; if( prime_candidate..