목록분류 전체보기 (118)
상권's

-오늘의 토이 2021.11.30- coinChange 문제 다양한 동전들을 가지고 특정 금액을 만들 수 있는 모든 경우의 수를 리턴해야 합니다. 예를 들어, 100원, 500원짜리 동전을 가지고 1,000원을 만들 수 있는 방법은 총 3가지 입니다.100원 10개, 100원 5개 + 500원 1개, 500원 2개 // 앞 서 배웠던 dp를 이용해 본다 // 먼저 total 금액까지 갈 수 있는 배열을 하나 만들어준다. target = [] // 그리고 이 배열의 인덱스가 각 동전보다 클 경우에, // 각 동전으로 해당 target 을 만들 수 있는 방법은 // total - 동전 = 금액 => 이 금액을 만드는 총 경우의 수와 동일하다. const coinChange = function (total, ..

-오늘의 코플릿 2021.11.29- 문제 좌표평면 상의 다양한 점들을 입력받아 가장 가까운 두 점 사이의 거리를 리턴해야 합니다. 입력 인자 1: points 배열을 요소로 갖는 배열points.length는 40,000 이하points[i]는 number 타입을 요소로 갖는 배열points[i].length는 2points[i]의 요소는 차례대로 좌표평면 위의 y좌표, x좌표points[i][j]는 0 이상 10,000 이하의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 points는 y좌표나 x좌표 등으로 정렬되어 있지 않습니다.두 점 사이의 거리를 계산하는 함수 calculateDistance가 주어집니다. 두 점 간 거리는 반드시 이 함수를 이용해서 계산해야 합니다.함수 calcul..
/home/sangkwon/im-sprint-shortly-mvc/node_modules/sequelize/lib/associations/mixin.js:93 throw new Error(`${source.name}.${_.lowerFirst(Type.name)} called with something that's not a subclass of Sequelize.Model`); ^ Error: url.belongsTo called with something that's not a subclass of Sequelize.Model at Function. (/home/sangkwon/im-sprint-shortly-mvc/node_modules/sequelize/lib/associations/mixin.j..
이번 주는 인증/보안 부분 학습으로 session, cookie, token, OAuth, axios, 컴퓨터공학 기초에 대해서 학습했습니다. 월~수 동안 하루씩 session, token, OAuth과제를 진행했습니다. 강의와 공식문서를 통해서 학습해서 직접 구현했습니다. 매번 느끼는 거지만 공식문서를 제대로 이해를 하질 못해서 구현하지 못했던 부분에서 아쉬웠습니다. 에러를 확인하고 공식문서를 다시 읽으면서 학습을 해서 제대로 이해하니 다행스럽기도 하지만, 빈도가 줄어들긴 해도 이런 실수가 나오니 아쉬움이 큽니다. 낯선 단어가 나오면 일단 이런 게 있구나 라는 생각으로 읽어보는 데, 어떻게 하면 낯선 단어가 나오더라도 잘 학습할 수 있을 지 고민해봐야겠습니다. 섹션3가 끝나고 프로젝트를 진행할 때는 이..

-오늘의 코플릿 2021.11.26- 문제 아래와 같이 정의된 ugly numbers 중 n번째 수를 리턴해야 합니다. ugly number는 2, 3, 5로만 나누어 떨어지는 수이다.1은 1번째 ugly number 이다. 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, ... // 각 수에 다가 2 3 5를 곱하면 ugly number 가 만들어진다. // 1부터 2, 3, 5를 곱해줄 때, 곱해진 숫자가 숫자에 따라서 위치가 정해지지는 않을까? // 아닌 거 같다.. // 해당 패턴을 찾아서 해결을 하면 좋을 거 같은데 일단은 조금 더 알아봐야겠습니다. // 해당 숫자가 ugly num인지 여부 확인은 쉬운데 // 패턴을 찾아서 진행하기는 어려운 듯 하다.. 첫 수도코드 =>..

-오늘의 코플릿 2021.11.25- LCS 문제 두 문자열을 입력받아 다음의 조건을 만족하는 LCS*의 길이를 리턴해야 합니다. LCS: 두 문자열에 공통으로 존재하는 연속되지 않는 부분 문자열(Longest Common Subsequence)문자열 'abc'의 subseqeunce는 'a', 'b', 'c', 'ab', 'ac', 'bc', 'abc' 입니다. // 입출력 예시 let output = LCS('abcd', 'aceb'); console.log(output); // --> 2 ('ab' or 'ac') output = LCS('acaykp', 'capcak'); console.log(output); // --> 4 ('acak') 최근 들어서 토이 문제의 난이도가 많이 올라가서 구현보다..

정수를 요소로 갖는 문자열을 입력받아 다음의 조건을 만족하는 LIS*의 길이를 리턴해야 합니다. LIS: 배열의 연속되지 않는 부분 배열 중 모든 요소가 엄격하게 오름차순으로 정렬된 가장 긴 부분 배열(Longest Increasing Subsequence) 배열 [1, 2, 3]의 subseqeunce는 [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3] 입니다. 엄격한 오름차순: 배열이 동일한 값을 가진 요소없이 오름차순으로 정렬되어 있는 경우를 말합니다. Advanced LIS를 계산하는 효율적인 알고리즘(O(N^2))이 존재합니다. 쉽지 않기 때문에 바로 레퍼런스 코드를 보고 이해하는 데 집중하시기 바랍니다. subsequence는 문자열 또는 배열같이 순서가 ..

히스토그램(histogram)은 표(도수 분포표, 빈도표)로 되어 있는 도수 분포(frequency distribution)를 정보 그림으로 나타낸 것입니다. 예를 들어, 대학교의 한 학과에서 신입생들의 현재 거주 지역을 조사한 결과가 다음과 같다고 가정해 봅시다. 서울 2명, 경기 1명, 대전 4명, 부산 5명, 대구 1명, 광주 3명, 제주도 3명... 이 자료를 히스트그램으로 나타내면 각각 높이 2, 1, 4, 5, 1, 3, 3인 직사각형이 왼쪽부터 그려지게 됩니다. 편의상 직사각형의 너비는 1이라고 가정합니다.// 이 히스토그램 내에서 만들 수 있는 가장 큰 직사각형의 면적은 8입니다 (O로 표시한 부분). 이처럼 임의의 히스토그램 내에서 가장 큰 직사각형의 면적을 리턴해야 합니다. 해당 문제에..