Development 73

[JavaScript] reduce method, spread syntax, computed property name, ternary operator

사용된 개념: spread syntax, computed property name, ternary operator alphabets라는 array에 각 알파벳이 몇번씩 등장하는지 세는 object를 만들고 싶다. let alphabets = ['a', 'a', 'b'] let countAlphabets = alphabets.reduce((value, alphabet) => { if (!value[alphabet]) { value[alphabet] = 1 } else { value[alphabet] += 1 } return value },{}) > { a: 2, b: 1 } reduce 메소드를 이용하여 위와 같이 구해볼 수 있을 것이다. 오늘은 아래와 같이 좀 더 멋있게(?) reduce 메소드를 쓰는 ..

Development 2022.01.31

[WIL] Node.js에 조금 더 익숙해진 일주일

매일 코딩 테스트 풀기 Node.js와 express로 블로그(게시판) 만들기 Restful API 설계 Restful API는 API 설계를 일관적으로 하여 어떤 API의 역할을 알기 쉽게 하기 위해 정한 시스템이라고 이해를 했다. 나는 아직 REST API의 규칙들을 완벽히 따르며 설계를 한 것 같지는 않다. 무작정 코딩을 시작하며 임의로 주소들을 배정해 나가는 것 보다, 미리 API 설계를 글로 기획하는 것이 일관적인 코드를 만들고, 협업하는데도 도움이 될 것 같다. fake API를 검색해보고 다른 사람들은 API 설계를 어떻게 했는지 참고해 볼 수 있다. 각 사람이나 회사마다 API 설계 방식에는 차이가 생기기 때문에, 아주 엄격한 규칙은 아닌 것 같다. npm을 활용한 패키지 관리 npm을 활..

Development 2022.01.30

[TIL] 코딩테스트, 회원가입 기능 프론트엔드까지 완성

파이썬 코딩테스트 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr from heapq import heappush, heappop def solution(scoville, K): sorted_s = [] for s in scoville: heappush(sorted_s, s) cnt = 0 while True: first = heappop(sorted_s) if first >= K: break s..

Development 2022.01.29

[TIL] 코딩테스트, Node.js 강의 과제, 회원가입 백엔드

파이썬 코딩테스트 (성공) https://programmers.co.kr/learn/courses/30/lessons/42584 def solution(prices): answer = [] for idx, val in enumerate(prices): find = False for i in range(idx+1,len(prices)): if prices[i] < val: answer.append(i-idx) find = True break if find: continue answer.append(len(prices) - idx - 1) return answer 효율성을 해결하는 것이 제일 어려운 것 같다. 그만큼 해결했을 때에는 보람도 크다. Node.js 강의 듣기 및 숙제 https://github...

Development 2022.01.28

[TIL] 강의(Todo list API), 코딩테스트, Git 강의

Todo list API 만들기 https://github.com/fancyers/learn-nodejs/tree/master/todo GitHub - fancyers/learn-nodejs Contribute to fancyers/learn-nodejs development by creating an account on GitHub. github.com 파이썬 코딩테스트 (도전 중) https://programmers.co.kr/learn/courses/30/lessons/42584 def solution(prices): answer = [] for idx, val in enumerate(prices): sublist = prices[idx + 1:] try: first_idx = next(i for ..

Development 2022.01.27

[TIL] 오늘 한 공부들, Node.js 프로젝트 기능 추가

자바스크립트 코딩테스트 https://programmers.co.kr/learn/courses/30/lessons/42587 // 뒤 목록에 첫번째보다 우선순위가 높은 것이 없으면 출력하는 것을 반복 // 우선순위와 index를 묶은 object로 이루어진 array로 풀이 function solution(priorities, location) { let p_objects = priorities.reduce((acc, value, index) => { let object = { priority: value, index: index } acc.push(object) return acc }, []) let final_order = [] while (final_order.length < priorities.l..

Development 2022.01.26

[TIL] 코딩 테스트, Node.js 게시판, DB index 공부

오늘의 코딩 테스트 결과 - 패배 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr // https://programmers.co.kr/learn/courses/30/lessons/42586 // 결국 힌트를 찾아보고 이렇게 풀었다. function solution(progresses, speeds) { let working_days = progresses.map((p, i) => Math.ceil((1..

Development 2022.01.25