-
제곱수의 합
서론 숫자를 제곱수의 합으로 표현하는 문제는 매우 유명한 문제이다. 예를 들면, $11339 = 1^2+27^2+103^2$ 으로 표현 가능 하고, 11339는 세 제곱수의 합으로 표현 가능하다. 우리는 이 글에서, 어떤 자연수를 최소 갯수의 제곱수의 합으로 표현하는 방법에 대해 알아본다. 제곱수의 최소 갯수 우리는 어떤 자연수가 최소 갯수의 제곱수의 합으로 표현되려면, 제곱수의 합으로 어떤 자연수를 표현하려면, 제곱수가 몇 개 필요한지를 알아 볼 필요가 있다. 이를 위해서 다음의 세 정리들이 필요하다. Lagrange의 네 제곱수 정리 Lagrange는 1770년에, 모든 자연수는...
-
더 빠른 문제 풀이 코드를 위한 상수 줄이기
개요 알고리즘을 공부하면 언제나 등장하고, 항상 신경써야 하는 요소가 있습니다. 바로 시간 복잡도 입니다. 공간 복잡도도 중요한 요소이기는 하지만, 메모리 사용량만큼의 시간이 걸리는 알고리즘은 효율적이지 않은 경우가 많기 때문에 상대적으로 덜 언급되곤 합니다. 하지만 어느 분야나 그렇듯이 이론과 현실에는 거리가 있기 마련입니다. 정확히는 알고리즘을 공부할 때 배우는 요소들은 문제를 푸는 수학적인 방법만을 고려한 것이지만, 문제 풀이를 할 때는 그 알고리즘을 프로그래밍 언어로 구현해내야 하고, 실제로 컴퓨터를 통해 실행시켜야 하기 때문에 시간 복잡도를 계산해서 예측한 속도와는...
-
2019 아주대학교 프로그래밍 경시대회(APC) 풀이
2019 아주대학교 프로그래밍 경시대회 (APC) 2019년 5월 26일 제9회 아주대학교 프로그래밍 경시대회(APC, Ajou, Programming Contest)가 열렸습니다. APC는 아주대학교 학생들을 위한 교내대회로, 경인지역 6개대학 연합 프로그래밍 경시대회 shake!에 출전할 10명의 대표학생을 선발하는 선발전을 겸하고 있습니다. 추가로 2019 APC는 성균관대학교와 한국항공대학교의 2019 shake! 학교 대표 선발전 역시 겸하였습니다. 2019 APC는 정보통신대학 학생을 위한 Divison1과 비전공생 및 복수전공생 학생을 위한 Division2로 나누어 진행되었습니다. Division1의 경우 2019 APC는 Division1 8문제와 Division2 6문제로 구성되었으며 그중 4문제가 공통문제라 총 10문제로 이루어져...
-
Akka typed 소개
안녕하세요~ 오늘은 akka 의 새로운 인터페이스 (API) 인 akka typed 에 대해서 소개시켜드리는 시간을 가져볼까 합니다! Akka 및 액터 모델에 대한 기본적인 내용은 이미 알고 있다고 가정하며 scala 를 기반으로 설명하겠습니다. » 이 글을 좀 더 좋은 가독성으로 읽기 « 기존 akka 에서의 문제점 akka 는 훌륭한 프레임워크이지만 인터페이스 (API) 상으로 아쉬운 부분들이 있습니다. class EchoStringActor extends Actor { def receive = { case str: String => sender() ! str case _ => sender() !...
-
data science 매출분석
DataScience - 2 Contents 1. Review 2. Task 3. Data visualization 4. Data analysis 5. Predict 6. Conclusion 1. Review 이전 포스팅에서 데이터 사이언스가 어떤 주제인가를 다루었다. 실제로 매우 유명한 데이터셋을 가지고 데이터를 import 하는거에서 부터 plotting, check outlier 등 가장 기본적인 tool의 사용법을 익혔다. 유명한 데이터셋이기 때문에, 어떤 방법이 옳고 효율적인지를 직관적으로 이해할 수 없었다. 이번에는 좀 더 발전해서, 많이 접해보지 못했던 데이터셋에 대해서 어떻게 data 를 직관적으로 visualize 하고 analysis 할지를 알아보고자 한다....