분류 전체보기(30)
-
Lv_2. 모음사전
* Programmers _위클리 챌린지 5주차 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 2) 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 2. 알고리즘! 생각해보자 처음에는 문제가 이해가지 않..
2021.11.06 -
Lv_1. 부족한 금액 계산하기
* Programmers _위클리 챌린지 1주차 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 2) 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, pric..
2021.11.06 -
[클린코드] 객체지향 설계의 5원칙_ SOLID 원칙이란?
S.O.L.I.D 원칙이란 무엇일까? SRP_ Single Responsibility Principle : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. OCP_ Open Closed Principle : 개방-폐쇄 원칙 소프트웨어 요소는 확상에는 열려 있으나 변경에는 닫혀 있어야 한다. LSP_ Liskov Substitution Principle : 리스코프 치환 원칙 서브 타입(child component)은 언제나 기반 타입(parent component)으로 교체할 수 있어야 한다. ISP_ Interface Segregation Principle : 인터페이스 분리 원칙 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다. 만약 어떤 클래스를 이용하는 클라이언트가 여러 개이고, ..
2021.08.08 -
Mapbox 와 SuperCluster : getClusters() returns [], null, empty
** 초보 개발자로 글에 수정해야 할 부분이 있을 수 있습니다. 정정해야 할 부분은 댓글로 소통 부탁드립니다! 지도에 marker를 사용할 때 필수 기능 중 하나가 바로 "클러스터링"입니다. 클러스터링이란 아래와 같이 zoom의 정도에 따라 마커의 수를 조정하는 것입니다. Mapbox 지도 라이브러리에서는 SuperCluster를 사용하여 클러스터링을 구현할 수 있습니다. 클러스터링 적용 중에 getClusters() 메소드의 return 값이 계속해서 [], empty array 가 출력되어서 애를 먹었었는데 그 해결과정을 공유하려 합니다. Q1. cluster 객체가 아직 초기화되지 않아서 [] 가 return 되는 것일까? const index = new Supercluster({ radius: 4..
2021.07.20 -
[js] Array 한줄로 초기화 (initialize) 하기
** 초보 개발자로 글에 수정해야 할 부분이 있을 수 있습니다. 정정해야 할 부분은 댓글로 소통 부탁드립니다! 안녕하세요! 코딩하다보면 그럴 때 있지 않나요 ~ 한 줄로 코드를 끝내는 능력자이고 싶다! ㅋㅋㅋ(하지만 현실은... 벌써 몇 백줄 넘어가는 중... 🥲) 하지만 조금씩 스킬을 늘려나가다 보면 그런 날도 오겠죠?! 서론은 여기까지하고 이번에는 한 줄로 Array 초기화 하는 방법을 알아보려 합니다. 보통 배열 초기화는 아래와 같은 코드로 수행합니다. var data = []; var length = 5; // user defined length for(var i = 0; i < length; i++) { data.push(createSomeObject()); } 이런 코드를 한 줄로 끝낼 수는 ..
2021.07.17