[javascript] - 표현식과 문, 리터럴
·
지난 글 모음
개념을 이해한다는 것은 용어를 정확히 이해하고 설명할 수 있다는 것이다. -모던 자바스크립트 Deep Dive p50- 모던 자바스트립트 Deep Dive를 공부하여 자주 나오는 표현들을 정리하고자 이 글을 작성한다. 책을 읽을 때에는 이해한다고 넘겼지만 뒷장으로 넘어갈수록 반복되는 표현들을 앞장으로 넘기며 찾아보는 일이 많이 생겼다. 제대로 이해하지 못했다는 것이다. 다시 이해하고 기억하도록 잘 정리해보자 값 값(value)는값(value)은 식(표현식)이 평가(evaluate)되어 생성된 결과를 말한다. 거창한 문장 같지만 하나 하나 보면 어렵지 않다. 하나씩 풀어보자 평가란? 평가란 식을 해석해서 값을 생성하거나 참조하는 것을 의미한다. 예시를 보자 10 + 20 // 30 10 + 20 이란 수식..
[백준 node.js] 1010번 다리놓기 javascript
·
지난 글 모음
[백준 node.js] 1010번 다리놓기 javascript 레벨: 실버5 언어: JavaScript 문제풀러가기 문제설명 재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 일직선 모양의 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원이는 다리를 최대한 많이 지으려고..
[백준 node.js] 10870번 피보나치 수5 JavaScript
·
지난 글 모음
레벨: 브론즈2 (solved.ac) 언어: JavaScript 문제풀러가기 문제설명 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력값 n : 0 ~ 20 의 자연수 출력값 n 번째 피보나치 수 📑풀이 과정 피보나치 수에 대한 풀이는 너무 유명하니 넘어간다 ㅎㅎ 아래에 ..
[프로그래머스] LV1 다트게임 JavaScript
·
지난 글 모음
프로그래머스 다트게임 카카오 문제 레벨: 1 언어: JavaScript 문제풀러가기 문제설명 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스..
[프로그래머스] LV2 메뉴 리뉴얼 JavaScript
·
지난 글 모음
프로그래머스 lv2 메뉴 리뉴얼 레벨: 2 언어: JavaScript 문제 풀러 가기 문제 설명 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 새로운 메뉴를 제공하기로 결정했습니다. 어떤 단품메뉴들을 조합해서 코스요리 메뉴로 구성하면 좋을 지 고민하던 "스카피"는 이전에 각 손님들이 주문할 때 가장 많이 함께 주문한 단품메뉴들을 코스요리 메뉴로 구성하기로 했습니다. 단, 코스요리 메뉴는 최소 2가지 이상의 단품메뉴로 구성하려고 합니다. 또한, 최소 2명 이상의 손님으로부터 주문된 단품메뉴 조합에 대해서만 코스요리 메뉴 후보에 포함하기로 했습니다. 예를 들어, 손님 6명이 ..
[프로그래머스] lv2 주차 요금 계산 JavaScript
·
지난 글 모음
프로그래머스 lv2 주차 요금 계산 레벨: 2 언어: JavaScript 문제 풀러 가기 문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 주차 입차와 출차의 기록이 여러번 일때에는 주차시간의 누적으로 하여 요금을 계산합니다. 입차는 있고 출차 기록이 없는 차량은 23:59에 출차한 것으로 간주합니다. 입력 값 fees: 주차장의 요금표 records: 입/출차 기록 출력 값 result: 차량 번호가 작은 자동차부터 청구할 주차 요금을 차례대로 정수로 담은 배열 📑풀이 아이디어 객체에 차량의 정보를 담고 입차 후 출차가 되면 총 시간을 계산한다. 입차 후 출차가 없는 정보는 23:59으로 출차된 것으로 하여 총 시간을 계산한다..
[프로그래머스] LV2 기능 개발 스택/큐 JavaScript
·
지난 글 모음
프로그래머스 lv2 기능 개발 스택/큐 레벨: 2 언어: JavaScript 문제 풀러 가기 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 입력 값 progresses: 순서대로 작업의 진도가 적힌 정수 배열 ..
[JavaScript] - 원시 값과 참조 값
·
지난 글 모음
React를 인강을 보여 공부하면 할수록 기본 자바스크립트의 중요성을 매우 느끼는 중이다. 그래서 모던 자바스크립트 Deep Dive를 보여 공부한 내용을 정리하려고 이 시리즈를 시작했다. 모든 내용을 알고 정리하면 좋겠지만 공부를 하며 필요하다고 생각되는 것 위주로 정리해보겠다. 본문 자바스크립트에서의 데이터 타입은 크게 2가지로 구분한다. 원시 타입: string, number, boolean, null, undefined, symbol 객체 타입: Array, Object, Function 원시 값이란? 원시 타입의 값은 변경 불가능한 값이다. 한번 생성된 원시 타입은 읽기 전용으로 값을 변경할 수 없다. 원시 값은 변수에 할당하면 변수에는 실제 값이 저장된다. 변경 불가능한 값에 의미 원시 값을 ..