[JS] 프로그래머스 입문 : 2차원으로 만들기
·
JavaScript & TypeScript/🧩 Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/120842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. num_li..
[JS] 프로그래머스_입문 : 제곱수 판별하기 (Math.sqrt)
·
JavaScript & TypeScript/🧩 Algorithm
9.18 하루에 하나라도 꼭 코테 풀기!(입문은 얼른 끝내버리고 알고리즘 문제도 풀어봐야 할텐데일단 자격증 시험 공부도 있고 알바도 하고 있어서.. 10월에 시험이 끝나면 해야할 게 많겠다.) 코테 입문 문제 - 제곱수 판별하기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr ❓ 문제어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000  🪄 내 코드function solution(n) {..
[JS] 프로그래머스_ 입문 : 배열 뒤집기 (Array.reverse, unshift 등)
·
JavaScript & TypeScript/🧩 Algorithm
8.26 코테 입문 문제 - 배열 뒤집기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr간단히 풀 수 있지만 생각보다 풀이가 다양한 문제였다! ❓ 문제정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.   🪄 내 코드function solution(num_list) { let answer = []; for (let i = num_list.length-1; i >= 0; i--) { answer.push(num..
[JS] 프로그래머스_ 입문 : 배열의 유사도 (Array.filter, includes 메서드)
·
JavaScript & TypeScript/🧩 Algorithm
8.21 코테 입문 문제 - 배열의 유사도알듯 말듯하다가.. 솔직히 바로 filter 메서드를 써야겠다고 떠올렸던 건 아니지만 😅여튼 나머지는 스스로 써서 해결! (일단 배열 원소에 조건을 달아야 한다면 filter을 생각하자)  ❓ 문제두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.  🪄 내 코드function solution(s1, s2) { return s1.filter(x => s2.includes(x)).length;}배열 메서드 filter, includes, length 를 사용했다.s1 배열의 원소 중,  s2 배열에도 포함된 (includes) 원소이면 골라내서 (fi..
[JS] 프로그래머스_입문 : 짝수는 싫어요 (간단 for문, Array.from 등 배열 메서드)
·
JavaScript & TypeScript/🧩 Algorithm
8.5  코테 입문 문제 - 짝수는 싫어요  간단하고 쉬운 문제.❓ 문제정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.  🪄 내 코드function solution(n) { let answerArr = []; for (let i = 1; i  array 를 생성한 후  for 반복문을 통해 1부터 n까지, 2씩 증가하는 수 (홀수) 를 하나씩 배열에 넣어준다.이 방법이 가장 흔하고 가독성 좋은(?) 방법인 것 같다. 배열 생성 후   for 반복문과 함께 array.push( ) 배열 메서드를 사용하면 된다.   🧸 다른 풀이 1) for 문 안 if문 사용function solution(n) { co..
[TS/React] JS/props-drilling 방식으로 쓴 To-Do List 를 TypeScript로 바꿔보기 : 답안참고
·
JavaScript & TypeScript
0309 💎 🪄 TypeScript 사용해 To-Do List 만들기 - props-drilling 방식 튜터님의 답안 코드를 살펴보자! 하지만 뭔가 코드에서 잘못 된 것인지 에러가 떠있었고 ㅠㅠ 내가 코드 수정해서 해결하긴 했다. 강의에서와 달리 hook을 만들어 사용해서 강의 때 코드와 다르기도 했다. 답안 코드의 to-do list 는 간소화된 투두리스트라 todo는 id, title, isDone(완료여부) 의 key들로만 간단히 구성됨. App.tsx > TodoList.tsx 컴포넌트 > TodoItem.tsx 컴포넌트 방식으로 속해있다. TodoList가 거의 메인이다. 이 컴포넌트에서 hook을 import해 사용하며, TodoItem으로 이 hook에서 받은 리턴값을 props 형태로 전..
[TS/React] JS/props-drilling 방식으로 쓴 To-Do List 를 TypeScript로 바꿔보기
·
JavaScript & TypeScript
0308 이전에 만들었던 to-do list 는 CRA 프로젝트로 생성해 JS 언어로 써서 만든 것 이번에는 Vite - React - TypeScript 프로젝트로 생성해서 JS => TS 로 바꿔봤다 (vite 을 통해 바로 typescript 템플릿으로 설정해 만들면 알아서 tsconfig.json 등 설정이 되어있으니 그냥 파일확장자만 ts / tsx 로 변경해서 쓰면 된다 ㅎㅎ 다만 패키지 설치는 ts 임을 고려해주자 나는 yarn 패키지 관리자를 썼다. (npm 이면 npm install ~ ) ) yarn add typescript @types/node @types/react @types/react-dom yarn add @types/styled-components (스타일컴포넌트를 쓰면) ..
[TS/React] useState - set state 함수의 타입 : 콜백함수로 넣기
·
JavaScript & TypeScript
export interface Todo { id: string; title: string; content: string; deadline: string; isDone: boolean; } const [todoList, setTodoList] = useState([ ]); 일 때, setTodoList 타입을 (cb: ..) 콜백함수 인자를 넣어주는 식으로 고쳤다. export interface TodoSetList { todoList: Todo[]; setTodoList: (todoList: Todo[]) => void; // 이거를 } // 이거로 고치자 ! (cb:(todoList:Todo[])=> Todo[]) => void 그럼 타입을 바꿔줘서 setTodoList( (prev) => prev. ..
[TS/React] React에서 TypeScript 사용하기 (기초)
·
JavaScript & TypeScript
* 참고로 타입스크립트 실행 - 터미널 명령어는 ts-node TS파일명.ts * 함수에서 TS 사용하는 법 다음과 같이 함수에서 ts를 사용할 수 있다. 2가지 방법! 각각의 인자에 콜론 ( :) 뒤에 타입을 명시해준다. 또한 리턴내용에 대한 타입도 인자를 묶은 소괄호 ( ) 뒤에 명시 function sum(a: number, b: number): number { return a + b; } function objSum({ a, b }: { a: number; b: number }): string { return `${a + b}`; } * 비동기함수에서 TS 사용하는 법 그런데 async가 붙은, 비동기함수라면? 그냥 함수 방식대로 함수 선언부에 타입만 써줘서는 에러가 뜬다. 비동기함수는 Promi..
[JS] 프로그래머스 : 나누어 떨어지는 숫자 배열 (filter, sort, 삼항연산자)
·
JavaScript & TypeScript/🧩 Algorithm
https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr * 참고로 배열 원소개수 0인지 (빈 배열인지) 체크 할 때, arr === (혹은 ==) [ ] 이런 식으로 쓰면 안된다 ! arr.length == 0 과 같이 배열 원소개수를 알려주는 .length 를 써야 한다 * 그냥 .sort( ) 쓰면, 숫자도 ASCII 문자 순서대로 (문자처럼) 배열되어, 맨 앞자리 수 우선으로 배열되니 (오름차순 5, 10 이 ..