전체 글153 [프로그래머스 Lv.1] 비밀지도 javascript function solution(n, arr1, arr2) { const answer = []; for (let i = 0; i 다시한번 짚고 넘어가는 toString()과 padStartnum.toString(2) : 배열이 아닌 정수에 toString 메서드를 쓰고 인수에 숫자를 넣으면 해당하는 진수법으로 변환해준다.padStart(str.length, "any") : 첫번째 인자는 인덱스가 아닌 문자열의 길이를 넣는다. 원하는 길이가 될때까지 채운다. 두번째 인자는 첫번째 인자의 길이가 될때까지 채우는 내용이다. 2024. 11. 14. [프로그래머스 Lv.1] 푸드 파이트 대회 javascript function solution(food) { let answer = ''; // food 배열의 첫 번째 요소(food[0])는 무시하고, // 두 번째 요소부터 반복문을 돌리기 for (let i = 1; i 2024. 11. 14. [모던리액트 Deep Dive] 5장 리액트와 상태 관리 라이브러리 5.1 상태 관리는 왜 필요한가?상태는 어떠한 의미를 지닌 값으로 애플리케이션의 시나리오에 따라 지속적으로 변경될 수 있는 값을 의미한다.5.1.1 리액트 상태 관리의 역사 Flux 패턴의 등장 양방향 데이터 바인딩이 아닌 단방향으로 데이터 흐름을 변경함Action -> Dispatcher -> Model -> View 액션(action) : 어떤 작업을 처리할 액션과 그 액션 발생 시 함께 포함시킬 데이터를 의미한다. 액션 타입과 데이터를 각 정의해 dispatcher로 전달한다.디스패처(dispatcher) : 콜백 함수 형태로 액션이 정의한 타입과 데이터를 모두 store로 보내는 역할을 한다.스토어(store) : 실제 상태의 값과 상태를 변경할 수 있는 메서드를 가지고 있다.뷰(view) : 리.. 2024. 11. 14. [프로그래머스 Lv.1] 콜라문제 javascript function solution(a, b, n) { let total = 0; while (n >= a) { // 받을 수 있는 콜라 수 (정수 나눗셈으로 계산) const newCola = Math.floor(n / a) * b; // 받은 콜라 수 총합 total += newCola; // 남은 콜라병 + 교환하고 남은 병 n = newCola + (n % a); } return total;} 2024. 11. 12. [모던 리액트 Deep Dive] 3장 리액트 훅 깊게 살펴보기 3.1 리액트의 모든 훅 파헤치기3.1.1 useState함수 컴포넌트 내부에서 상태를 정의하고, 이 상태를 관리할 수 있게 해주는 훅이다.import { useState } from "react";const [state, setState] = useState(initialState); initialState에는 state의 초깃값을 넘겨준다. 아무런 값이 없으면 undefined다.useState 훅의 반환 값은 배열이며, 배열의 첫번째 원소로 state 값 자체를 사용할 수 있고, 두번째 원소인 setState 함수를 사용해 해당 state의 값을 변경할 수 있다.useState의 클로저는 useState 내부에 선언된 함수(setState)가 함수의 실행이 종료된 이후에도(useState가 호출된 .. 2024. 11. 10. [프로그래머스 Lv.1] k번째 수 function solution(array, commands) { let answer = []; for(var i=0; i(a - b)); answer.push(list[commands[i][2]-1]); } return answer;} 2024. 11. 8. [프로그래머스 Lv.1] 문자열 내 마음대로 정렬하기 javascript function solution(strings, n) { return strings.sort((a, b) => { // n번째 글자가 다르면 n번째 글자를 기준으로 정렬 if (a[n] !== b[n]) { return a[n].localeCompare(b[n]); } // n번째 글자가 같으면 전체 문자열을 기준으로 정렬 return a.localeCompare(b); });} 이번문제에서도 localeCompare() 라는 메서드를 새로 알게 되었다.referenceStr가 compareString 전 혹은 뒤에 오는지 또는 동등한지를 나타내는 정수를 반환합니다.compareString 전에 reference.. 2024. 11. 6. [모던 리액트 Deep Dive] 2장 리액트 핵심 요소 깊게 살펴보기 2.1 JSX란2.1.1 JSX의 정의JSX는 자바스크립트 표준이 아닌 페이스북 팀에서 만든 새로운 규칙이며, 반드시 자바스크립트 코드로 변환되어야 한다.JSX의 목표는 JSX 내부에 트리 구조로 표현하고 싶은 다양한 것들을 작성해 두고, 이 JSX를 트랜스파일이라는 과정을 거쳐 자바스크립트가 이해할 수 있는 코드로 변경하는 것이다. JSX는 JSXElement, JSXAttributes, JSXChildren, JSXString 네 가지로 구성되어 있으며, 개발자는 이는 확장성이 용이하게 디자인된 문법으로 이해할 필요가 있다 .JSXOpeningElementJSXClosingElementJSXSelfClosingElementJSXFragmentchildren 사용자가 컴포넌트를 만들어 사용할 때에는 반.. 2024. 11. 6. [프로그래머스 Lv.1] 가장 가까운 같은 숫자 javascript function solution(s) { var answer = []; let str = s.split(""); for (let i = 0; i 이번 문제를 풀면서 lastIndexOf()에 대해 공부했다. mdn 문서를 보면 해당 메서드는lastIndexOf(searchElement, fromIndex)Array 인스턴스의 lastIndexOf() 메서드는 배열에서 특정 요소를 찾을 수 있는 마지막 인덱스를 반환하거나, 해당 요소가 없으면 -1을 반환합니다. 배열은 fromIndex에서 시작하여 역방향으로 검색됩니다. 라고 되어있다. 두번째 인자의 사용이 좀 헷갈리는데 아래 제시한 예문을 보면const numbers = [2, 5, 9, 2];numbers.lastIndexOf.. 2024. 11. 5. [모던리액트 Deep Dive] 1장 리액트 개발을 위해 꼭 알아야 할 자바스크립트 리액트와 자바스크립트리액트는 사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리로, 웹 애플리케이션을 더 쉽고 빠르게 개발할 수 있도록 도와준다. 리액트는 UI를 컴포넌트라는 독립적인 단위로 구성하여 코드의 재사용성과 관리 편의성을 높인다.자바스크립트는 웹 브라우저에서 실행되는 프로그래밍 언어이다. 우리가 웹 페이지에서 상호작용하는 기능들을 구현할 수 있게 해준다. 예를 들어, 버튼을 클릭했을 때 뭔가가 일어나게 하는 것이 자바스크립트를 통해 가능한 것이다.1.1 자바스크립트의 동등 비교와 데이터 타입자바스크립트에서 동등 비교는 리액트의 가상 DOM과 실제 DOM 비교, 렌더링판단, 메모이제이션등 여러 작업의 기초이므로 중요하다.모든 값은 데이터 타입을 가지며, 원시 타입과 객체 타입으로 나뉘고, .. 2024. 11. 5. [프로그래머스 Lv.1] 숫자 문자열과 영단어 function solution(s) { let arr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] for(let i=0; i 2024. 11. 4. [프로그래머스 Lv.1] 시저 암호/두개 뽑아서 더하기 javascript 시저암호function solution(s, n) { let upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; let lower = "abcdefghijklmnopqrstuvwxyz"; let answer= ''; for(let i =0; i = strArr.length) index -= strArr.length; answer += strArr[index]; } return answer;}두개 뽑아서 더하기function solution(numbers) { let answer = []; //경우의 수 만큼 배열 안의 두개의 숫자를 더해 answer에 넣기 for(let i=0; i a-b);} 2024. 11. 1. 이전 1 2 3 4 5 6 7 8 ··· 13 다음