분류 전체보기
[Leetcode][Javascript] Max Consecutive Ones
문제 Max Consecutive Ones 문제 설명 배열에서 1이 연속해서 등장하는 최대 횟수를 구하는 문제 숫자는 0, 1만 등장한다고 했으므로 배열을 문자열로 변환해 0으로 split하면 1만 뭉쳐서 결과로 남게 된다. [1,0,1,1]이면 [1,11]이 되는 것이다. 연속하는 개수를 세어야 하므로 map 을 통해 개수를 세어 주고, 배열에서 max 값을 계산해서 출력하도록 한다. 간단한 문제였다. 성공 코드 /** * @param {number[]} nums * @return {number} */ const findMaxConsecutiveOnes = function(nums) { const ones = nums.join('').split('0').map(value => value.length);..
![[리뷰] 디노 첫걸음](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEhe7c%2Fbtq2TbxWvsy%2FSJ30kEM64SxwAQTMZDILr0%2Fimg.jpg)
[리뷰] 디노 첫걸음
최신 자바스크립트 런타임인 디노(Deno)를 소개하는 '디노 첫걸음'을 읽어 보았습니다. 책에서 설명하는 내용이 무엇인지 보고 직접 실행해 보며 디노를 살펴보려고 합니다. 개요 디노의 배경 타입스크립트 npm 없이 외부 모듈 사용하기 1. 디노의 배경 자바스크립트를 백엔드로 구현한다고 하면 Node.js를 보통 생각하곤 했습니다. 그런데 노드가 해결하지 못하는 문제점이 몇 가지 있었습니다. 첫 번째는 보안이 취약한 부분을 해결하지 못했다는 것입니다. 그리고 npm으로 외부 모듈 사용 시 node_modules에 저장하는 방식이기 때문에 무거워지는 문제가 있었습니다. 아래와 같은 유머 사진이 있을 정도로 말이죠 요즘 프레임워크들의 추세인지, 온라인에서 간단히 테스트 가능한 플레이그라운드가 디..
![[D&D 동아리 4기] 프론트엔드 개발자 회고](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRJAUl%2Fbtq1MrIDFIn%2FenKtbCutqxexn6E5jVCWM1%2Fimg.png)
[D&D 동아리 4기] 프론트엔드 개발자 회고
[D&D 4기 회고] 기획부터 디자이너와 협업까지 경험하는 사이드 프로젝트 DND: https://dnd.ac/ 2021년 1월부터 2월까지 8주간 DND 동아리에서 프론트엔드 개발자로 사이드 프로젝트를 진행했습니다. 회사 일이 끝나고 병행해야 하는 어려움도 있었고 배운 점들도 많습니다. 그래서 (좀 많이)늦었지만 개인적으로 회고를 적어 보겠습니다. 개요 프로젝트 소개 디자이너와 협업 백엔드 개발자와 협업 개인 회고 1. 프로젝트 소개 프로젝트 주제부터 팀원들의 의견에서 투표를 진행해 선정했습니다. 웹 서비스를 기반하고 있기 때문에 가볍게 즐기고 정보를 얻을 수 있는 세 가지 키워드를 선택했습니다. 회원 등록 기능을 통해 월간 추천 식물 서비스 메일링 등 비즈니스 모델도 생각해 보았지만, 짧은 시간에 완..
![[리뷰]자바스크립트는 모든 곳에 존재한다](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlbUcU%2FbtqX6g5oVWo%2F5konp9MVlBuVxG6ntGyBI0%2Fimg.jpg)
[리뷰]자바스크립트는 모든 곳에 존재한다
자바스크립트 언어 하나만으로 서버, 웹 클라이언트, 데스크톱 앱, 그리고 배포까지 경험해 보고 싶다면 선택해 볼 만한 책을 소개하려고 합니다. Javascript Everywhere 자바스크립트는 모든 곳에 존재한다 리뷰 한빛미디어 2021년 2월 이벤트를 통해 이 책을 받게 되었습니다. 저는 프론트엔드 개발자이기 때문에 자바스크립트를 많이 쓰고 관심도 가지고 있습니다. Vue와 React를 사용하여 주로 개발하고 있습니다. 혼자서 간단한 사이드 프로젝트를 진행하려고 할 때 백엔드 지식이 부족해 시도하다가 정보의 벽을 느껴 실패했던 경험도 있습니다. 그러다가 이 책을 만나게 되었는데요. 일단 첫 인상이 좋았던 것이 펼치자 마자 바로 따라해 볼 수 있는 개발 환경 구성부터 나왔던 것입니다. 당장 Graph..

한글이 자소분리될 때 해결 방법(ㅎㅏㄴㄱㅡㄹ -> 한글)
운영체제마다 다른 '유니코드 정규화 방식' 대응하는 방법 업무를 진행하다가 파일 다운로드 시 'Windows' 환경에서 한글이 자음과 모음으로 분리되는 자음모음 분리 현상, 자소 분리 현상이 발생했습니다. 인코드, 디코드 방식으로는 해결이 되지 않았지만 원인을 찾기가 힘들어 삽질을 했었는데요. 이를 해결하기 위해 새롭게 알게 된 내용과 해결 방법을 적어 보도록 하겠습니다. 개요 유니코드 정규화 방식이란? Mac과 Window의 정규화 방식 normalize()로 대응하기 1. 유니코드 정규화 방식이란? 한글을 표현하기 위해 텍스트(문자)에 대한 규칙을 정했습니다. 이것이 유니코드 정규화 방식인데 의미를 더 알아보기 앞서 기본 단어 개념을 알아보겠습니다. Character set: 여러 언어를 사용할 수 ..
![[LeetCode][Javascript] Number of 1 Bits](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVxsEs%2FbtqVJQVqNyC%2FXnA4AhNkBKdxe0LY2Yg1G1%2Fimg.png)
[LeetCode][Javascript] Number of 1 Bits
문제 Number of 1 Bits 문제 설명 binary 숫자에서 1비트의 개수를 반환하는 문제 일단 숫자를 2진수로 받는(변환하는) 작업이 필요하다. 그냥 받으면 앞에 0이 포함된 부분은 날라가고 마지막의 1만 남게 되어 정상적인 계산이 불가능하다. 자바스크립트의 내장 객체인 toString의 인자에는 2진수부터 36진수까지 표현 가능하도록 넣을 수 있게 되었다. 그래서 2진수로 변환 후, 1의 개수가 있으면 세어서 반환하고 없으면 0을 반환하도록 처리했다. toString을 정말 많이 쓰지만 인자로 N진수를 나타낼 수 있다는 것은 처음 알게 되었다. 앞으로 종종 사용해야겠다. 성공 코드 const hammingWeight = function(n) { return n.toString(2).match(..