본문 바로가기
반응형
[프로그래머스] 체육복 | JavaScript 탐욕 알고리즘(greedy algorithm) 탐욕 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. - 위키백과 탐욕 알고리즘의 정의를 보고 네비게이션이 생각이 났다. 아빠가 운전하는 차를 타고 가면서 카카오맵 네비를 쓴 적이 있는데 몇분 간격으로 실시간 교통정보와 경로를 불러오더라. 그걸 토대로 최적의 길과 다른 길로 가게 되면 얼마가 더 걸리는지도 알려준다. 체육복을 빌려줘 🏃🏻‍♂️ 체육시간이 다가오는데, 일부 학생들이 체육복을 도난을 당한 경우다. 다행히 여벌의 체육복을 가져온 학생들이 빌려주기로 한다. 학생들의 번호는 체격 순으로 매겨져 있으며 바로.. 2021. 4. 7.
PostCSS로 모듈화 사용하기 이젠 CSS도 모듈화를 한다..? 자바스크립트로 게임을 만들 때 js 파일을 모듈화 한 적이 있고 리액트도 컴포넌트별로 파일을 나눈다. 토이 프로젝트 수준인데도 불구하고 CSS를 작성할 때마다 조금만 스타일을 추가해도 코드 줄이 길어지고 주석을 추가하고, cmd+f로 클래스 이름을 찾는 나 자신을 보게 되었다. 그런 와중에 리액트를 배우면서 create-react-app으로 프로젝트를 하게 되었고 PostCSS가 기본 탑재 되어있단 것을 알게 되었다. 그럼 예제를 통해 이제 왜 CSS도 모듈화를 하는지 알아보자! 버튼은 두개로 하겠습니다. 근데 이제 서로 다른 스타일을 곁들인 import React from 'react'; import Button1 from './ components/button1'; .. 2021. 4. 4.
[프로그래머스] 신규아이디 추천 | JavaScript 신규아이디 추천 알고리즘 문제를 보고 바로 정규표현식이 생각이 났다. 드림코딩 정규표현식👏 처음엔 '이게 뭐지?' 싶은데 하다보면 쉽고 재미있다. 정규 표현식 연습 사이트👍 new_id가 주어지면 규칙에 맞는지 검사하고 규칙에 맞지 않으면 새로운 아이디를 추천해주는 알고리즘이다. id의 규칙은 다음과 같다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(\_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 새로운 아이디를 추천해줄 경우 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.).. 2021. 4. 4.
[React.js] 프로젝트를 하며 배운 것들 습관 만들기 😤 결과물을 확인해보세요. 🧑🏻‍💻 그래서 제가 배운 것은요...🏃🏻‍♂️ 1. JSX 왜 써? JavaScript와 UI 개발(HTML)을 한 곳(컴포넌트)에서 프로그래밍 할 수 있다. HTML과 비슷한 문법, 협업에 용이 컴포넌트별로 분류하여 유지보수가 쉬움 2. State 컴포넌트 안에서 정의한 state 오브젝트(데이터를 관리하는 저장소라고 생각한다) state는 얕은 비교를 한다. 최상위 오브젝트의 참조값이 변하지 않으면 render 함수를 호출하지 않는다. setState 함수를 이용해서 새로운 상태의 오브젝트(업데이트 하고자 하는 상태 데이터)를 인자로 전달해 주어야 한다. setState 함수는 비동기 API이다. state 안의 데이터를 직접 수정하지 마! setState 함.. 2021. 4. 4.
[React.js] PostCSS 기초 PostCSS CSS 전처리기? 전처리기만의 고유한 문법을 통해 작성을 하면 순수 CSS로 변환을 해주는 프로그램이다. 순수 CSS에서 지원하지 않는 특징이 추가된다. 믹스인(mixin), 중첩 셀렉터(nesting selector), 상속 셀렉터(inheritance selector) 기타 등등 이러한 문법은 가독성을 좋게하고 유지보수가 쉬워진다. 대표적인 전처리기 프로그램은 다음과 같다. [PostCSS](https://postcss.org/) [Stylus](https://stylus-lang.com/) [SASS](https://sass-lang.com/) [LESS](http://lesscss.org/) 근데 그중에 왜 PostCSS를 쓸까? SASS나 LESS같은 경우 주어진 문법과 특징에 한.. 2021. 4. 4.
[Xcode12] Playground 활용하기 ※ 본 글은 [Mastering Swift] Hello, Playground (Xcode 12) 유튜브 영상을 공부한 내용으로 만들었음을 미리 알립니다. Xcode 애플의 OS를 위한 IDE인 Xcode는 macOS용만 존재합니다. 최근 애플 실리콘도 그렇고 애플은 자체 플랫폼에 노력을 참 많이 쏟는 것 같습니다. CS50 과정을 수료한 후(스터디 시작 전 재밌어서 미리 다 봐버렸습니다) iOS 개발에도 관심이 있었는데 마침 메이커스라는 앱 런칭 동아리에 합격이 되어서 Swift 공부와 iOS 개발을 위한 Xcode를 설치하게 되었습니다. Hello, Playground 프로젝트와 개발에 앞서 Swift 언어의 문법 위주로 공부를 시작할 것이기 때문에 Xcode의 Playground로 시작을 하겠습니다... 2021. 1. 3.
[JavaScript] var, let, const ES6의 등장 전후 블록 스코프를 갖지않는 var ES6가 나오기 전에는 var로 변수선언을 했습니다. var는 재선언과 재할당이 가능하고 블록 스코프를 갖지않습니다. // 재선언 및 값의 재할당 가능 { // 블록 스코프를 갖지 않음 var name = '개발 전용'; } console.log(name); // "개발 전용" (블록 스코프 영향 X) var name = '개발자 전용'; name = 'only dev'; console.log(name); // "only dev" var 호이스팅 일반적으로 변수를 선언한 후 값을 할당하지만 var는 '호이스팅'으로 인해 선언부가 최상단으로 끌어올려지고 'undefined'로 값이 초기화되기 때문에 변수를 선언하기전에도 값을 사용 할 수 있습니다. cons.. 2020. 12. 21.
반응형