가우스의 덧셈 공식이란?1부터 n까지의 합을 구할때 사용하는 공식이다. 1. 첫번째 방법s = 1+2+3+....+ (n-1) + n 2. 두번째 방법s = n + (n-1) + 3 + 2 + 1 이 두방법을 합쳐보면2s = (1+n) + (2+(n-1)) + (3+(n-2)) + ... + ((n-2)+3) + ((n-1)+2) + ((n+1))즉 모든 각 쌍의 합이(n+1) + (n+1) + (n+1) + (n+1) + (n+1) + (n+1) + (n+1) + (n+1)...이 된다. 그렇다면 마지막에 있는 수를 n이라고 했을때 최종 합은s = n * (n+1) / 2 가 된다.3을 예로 들면tot = 1+2+3tot = 3+2+12tot = (1+3)(2+2)(3+1) = 4+4+4 = 12tot..
그리디 알고리즘이란?• Greedy를 직역하면 "욕심많은, 탐욕스러운" 이라는 뜻• 단어의 뜻처럼 선택의 갈림이있을때 최적이라고 생각되는것만을 쫓아 최종 해답에 도달하는 방식의 알고리즘.• 즉, 최적의 값을 구해야 하는 상황에서 사용 되는 근시안적인 방법론.• 항상 최적의 값을 보장하는 것이 아닌 최적의 값의 '근사한 값'을 목표로 함.• 그렇게 때문에 어느정도 최적에 근사한 값을 빠르게 도출할수 있는 장점이 있음.• 그리디 알고리즘은 근사 알고리즘으로 사용할 수 있다.• 탐욕 알고리즘을 적용할 수 있는 문제들은 지역적으로 최적이면서 전역적으로 최적인 문제들이어야 한다.더보기근시안적 방법론• 단기 목표를 중심으로한 전략적인 접근 방법을 의미.• 주로 현재의 문제를 해결하는 데 초첨을 맞추며, 장기적인 전..
CODE : RED 여러 재난 상황이나 평소 위험한 상황에 대해서도 대처가 가능한 솔루션을 제공하기 위한 서비스 CODE:RED coderedbox.com 구성원BE 5명 / 리더아키텍처 KPT 회고..최종 프로젝트가 끝났다.약 한달간의 긴 프로젝트였는데좋았던 점도 분명 많았지만가장 아쉬움이 많이 남는 프로젝트 인것 같기도 하다. 일단 가장 큰 아쉬움은 리더로서의 역할을 내가 과연 잘 했는가 이다.뭔가 좀더 아는것도 많았으면 했고 팀원이 모르는것을 물어보면 확실하게 답해주고 싶었고좀더 확실하고 깔끔하게 팀프로젝트를 운영하고 싶었다. 하지만 팀 협업 하는 과정에서 오히려 내가 새로 배웠던 협업 툴같은 새로운 것들도 많이 배웠고마음처럼 잘 활용하지를 못하니까 답답해지는 것도 있었다. 또한 새로운 기술을 ..
해당 프로젝트에서 내가 받은 부분은 칸반보드의 보드 부분과 자동화 배포를 위한 CI / CD부분이였다. 이번 프로젝트는 팀원들은 너무 잘 만났지만 잘 만남으로 인해 스스로에 대해 굉장히 아쉬운게 많았던 프로젝트였다. 프로젝트에 대해 구현해야했던 부분을 잘 못 이해하여 기능을 빠트려서 구현을 하고 CI / CD로 넘어간점. 스스로에 대한 부족한 이해와 구현으로 인해 CI / CD를 공부함에 있어서도 계속해서 맡은 부분을 수정해야하니 공부에 대한 집중도도 떨어질 뿐더러 몰입을 할수가 없었다. 그렇게 기능구현하고 테스트하고 PR을 하게 된다면 잠깐의 쉬는 시간을 가지면서 또 CI / CD공부를 미루게 되고.. 이 과정을 좀 2번정도 반복을 했던것 같다. 맡은 기능 부분을 빠르게 완성을 하고 CI / CD를 하..
현재 프로젝트에는 리액트로 간단한 프론트까지 포함되어 있다. + CICD 파이프라인에 대해서 이해도가 완벽하지 않았어서 약 이틀동안 많은 시행착오를 거쳤다. 1. 특별한 조건을 주지 않는이상 예를들어 특정이벤트에만 작동하도록 한다거나 특정브랜치에서만 작동은 한다거나의 작업이 있지 않는이상은 크게 변화를 주지않은것 같아서 기본에만 충실하고자 기본 기능만 적용을 했었다. 그 작업코드가 name: Illjaler Deployment on: workflow_dispatch: push: # push이벤트가 발생하면서 브랜치가 main일 경우와, branches: [main] pull_request: # pull_request이벤트가 발생하면서 브랜치가 main | dev 인 경우에 workflow가 실행. bra..
문제 설명 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를두 수의 짝꿍이라 합니다 (단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다 (X에는 5가 3개, Y에는 5..
문제 인증 미들웨어를 만들고 사용하려고했다. 이렇게 정의해두고 서버를 시작하면 Route.get() requires a callback function but got a [object Undefined] 이런 에러가 뜬다. 에러를 해석해보면 Route.get()에는 콜백 함수가 필요하지만 [객체 정의되지 않음]. 이게 뭔소린지 이해하면서 코드를 봤더니 엄청난 실수를 했다. AuthController 객체를 가져와놓고 인스턴스 생성을 하지 않았다. 해결 인스턴스 생성후 생성한 인스턴스로 바꿔주었다. 해결완료!!
문제 설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인 무..