본문 바로가기

분류 전체보기202

Problem 2 - Even Fibonacci numbers 이번 문제는 Fibonacci 수의 특정값까지의 합을 구하는 문제입니다. 하지만 여기에는 조건이 몇가지 있습니다. 단순히 해당 문제를 풀기위한 방법과, Algorithm 문제를 푸는 방식으로 여러개의 Test_Case가 들어오고 약간 도전적인 목표의 특정값을 해결할 수 있도록 해보겠습니다. 1. 주어진 조건의 문제 해결 제약조건은 아래와 같습니다. 400만 이하의 Fibonacci를 대상으로 함 그 중에서 짝수인 값의 합을 구함 저는 우선 Fibonacci가 400만까지 가려면 얼마나 많은 단계를 거쳐야 하는지 궁금해졌습니다. 그래서 관련 코드를 대충 짜보면... a, b = 1, 2 cnt = 0 while True: temp = a + b if temp > 4000000: break print(tem.. 2019. 11. 19.
[Spring Boot] 09. Excel Download (POI, JXLS) 개발을 하다보면, Application을 통해 제공하는 Data가 자체 View로 보여주는 방법이 있을 수 있고... 아니면 타 시스템에 REST API를 통해서 전단해주는 방법... 그리고 사용자가 원할경우, 통계나 이력등에 대한 내용을 Excel로 Download가 가능할 필요가 있습니다. 이번에는 MVC구조에서 사용자가 Controller로 Excel Download에 해당하는 Request URL을 선택하고, 내부적으로 업무 로직인 Service를 통해 Mapper로 가져온 데이터를 Excel로 변환하여 제공하는 방법에 대해서 알아보겠습니다. 여러가지 방법이 있겠지만 대표적으로 POI("포이")와 JXLS("제이엑셀")이 있습니다. 이번 블로그에는 JXLS를 사용하겠지만, 가볍게 POI란 무엇인가.. 2019. 11. 16.
Problem 1 - Multiples of 3 and 5 이 문제는 1000미만의 수 까지 3 혹은 5의 배수인 경우의 수의 합을 구하는 문제입니다. 사실은 결과만 구하자고 한다면... 1~999까지 순회를 돌면서... 3의 배수이거나 5의배수이면 int변수에 더하고 결과를 리턴하면 될 것입니다. 하지만... 알고리즘 측면에서 생각해보면 주어진 숫자가 1000이 아니고 10억정도의 아주 큰 목표값을 가진다면... 어떻게 하실건가요?? 아마도 변수형은 Long으로 한다고 하더라도, 오랜시간이 소요될 것 입니다. 또한, Testcase를 여러개 주어진다고 하면 더할나위가 없겠죠?? 저는 이렇게 풀어보겠습니다. 1 ~ 10까지 합을 구한다고 했을때... 순차적으로 구하는 방법도 있겠지만... 일정 간격으로 늘어나는 연속된 수의 합은 아래의 방법으로 구할 수 있습니다.. 2019. 11. 13.
[Spring Boot] 08. Scheduler 오늘은 Spring Boot에서 Linux에서 clontab을 구동하는 것처럼 해당 method를 일정주기로 혹은 정해진 주기로 자동 동작하게 하는 Scheduler에 대해서 알아보려고 합니다. 업무에서는 서비스가 없는 새벽시간에... 고객 유입이 가장 적은시간에 뒷단에서 작업을 돌리는 경우가 많습니다. 그럼 Scheduler를 구동하기 위해서 아래와 같이 진행 해보겠습니다. Single Thread Pool Multi Thread Pool 1. Single Thread Pool 스케쥴 로직을 구현할 class에 @Component annotation 추가 구동할 method() 위에 @Scheduled annotation 추가 configuration annotation이 적용되어있는 class에 @E.. 2019. 11. 13.