Programming(178)
-
정규표현식 정리
코드 프로그래머스 정규표현식 의 내용을 정리한 글입니다. 다만 해당 강의는 파이썬을 사용하나, 아직 파이썬에 익숙하지 않으므로 글의 내용은 Javascript를 기준으로 작성됐습니다. 정규표현식(正規表現式/regular expression): 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. - 위키백과 정규표현식 간단하게 말하면 특정 규칙에 맞는 글자만 걸러내주는, 필터의 개념으로 생각해도 무방하다. 프론트엔드에서는 전화번호 형식, 이메일 형식, 비밀번호 체크 등에 사용할 수 있다. 정규표현식 생성법 문자로 표기해서 생성할수도 있고, 생성자로 만들수도 있다. /pattern/flags //리터럴 방식 new RegExp(pattern[, flags]) //생성자 방식 patter..
2019.01.14 -
백준 2292번 규칙찾기/벌집
[문제보기](https://www.acmicpc.net/problem/2292)>위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 예시를 확인하니 출발지는 1로 고정이며 도착지 N이 주어졌을 때, 1에서 N과 같은 둘레에 속해있는 값까지의 거리는 동일하다. 1을 포함했을 때 2~7까지 도착하는 데 필요한 방은 2개, 8~19까지 도착하는 데 필요한 방은 3개..
2019.01.12 -
Javascript에서 함수를 생성하는 방식/함수표현식, 함수선언식
F사의 기술면접에 다녀왔다. 면접을 마치고 면접에 대해 궁금한 것은 없는지 물어보셔서, ‘Javascript에 대해 자세한 질문을 하실 줄 알았는데, 그런 질문은 없으셔서 (다행입니다.)’라고 답했다. 괄호친 다행입니다는 입밖으로 못 낸 말이다. 한국말은 끝까지 들어야하는것뿐만 아니라, 끝까지 해야하는 것이었다. 면접관님께서 어떤걸 준비하고 왔는지 물어보시기에, 기존 함수와 ES6의 화살표 함수에 대해 준비한 내용을 말씀드렸다. 그리고나서 함수의 선언 방식은 몇 가지가 있고, 어떤 차이가 있는지 여쭤보셨다. 나도 내가 평소에 삽질을 잘 하는 줄은 알고 있었는데, 이번 기회에 내 묫자리도 잘 판다는 걸 깨달았다. 선언방식은 대답할 수 있었지만 차이점은 얘기할 수 없었다. (new 키워드를 이용해서 함수 객..
2019.01.11 -
유튜브 썸네일 만드는 웹앱을 만들어봤다 & 상용 사이트들의 정리
게임을 할 때면 유튜브 스트리밍을 켜고 영상을 남겨놓는데, 썸네일에 글자를 넣는건 영 귀찮은 일이었다. 뭣보다 포토샵이나 다른 편집툴도 없었다. 유튜브 스트리밍이 활성화된지도 꽤 됐으니, 이런류의 서비스가 있지 않을까. 그래서 찾아봤는데, 어째서인지 나오지 않는다. React에 좀 익숙해질 겸, 간단하게 만들어봤다. 검은곰의 유튜브 썸네일 만들기 파이어베이스 호스팅 페이지에 올려놨다. 현재는 이미지를 올리고, 타이틀과 서브타이틀을 추가하는 기능뿐이다. 시간날때 기능을 좀 추가해야 할 것 같아서, 깃허브 레포지터리를 생성하고 이슈를 추가해놨다. 만들고나니 뭔가 찜찜했다. 몇시간 안걸려서 간단히 만들 수 있는 페이지인데 아무도 만들지 않았다고? 그래서 영어로 검색을 해봤더니, 짜잔. 정말 여러가지 서비스가 ..
2019.01.10 -
비트마스크를 배열로 관리하는 bitsToArrays.js
Javascript에서 비트마스크를 쓸 일이 있을까?=====임베디드 장비에서 서버를 돌렸기 때문에, 꽤 많은 기능들은 비트마스크로 관리됐다. 이벤트가 on/off됐다던가, 장비에 연결된 장치들과 연결이 끊어졌다던가, 이런 상태들을 한번에 관리하기엔 비트마스크만한 게 없었다. 뭣보다 워낙 옛날에 C로 코드를 작성하던 아저씨들이 만든 코드라, 비트마스크를 쓸 일이 상당히 많았다.여러개의 Boolean값을 사용하고 있다면, 비트마스크를 통해서 메모리 효율을 늘릴 수 있을 것이다. 비트마스크가 효율적이긴 한데...=====event_status라는 비트마스크에 n번째 비트가 설정되었는지 확인하려면, 다음과 같이 작성하면 된다. ```if ((event_status & (1
2019.01.09 -
프로그래머스/무지의 먹방 라이브(진행중)
[코드프로그래머스/무지의 먹방 라이브](https://programmers.co.kr/learn/courses/30/lessons/42891?language=javascript) 초안-----일단 되는대로 만들어봤다. 정확성 테스트조차 몇몇개는 실패다. = ㅅ=효율성 테스트는 모두 시간초과하는 수준. 탐색하는 로직을 개선하거나, 혹은 메모리를 사용해서 탐색이 필요없게끔 수정이 필요하다. ```//food_times의 모든 값이 0인지 감지하는 함수function isAllValueZero (param_array) { var isAllZero = true; for(var i=0; i 0) { isAllZero = false; } } return isAllZero;} //food_times의 다음 index..
2019.01.03