일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- react 프로젝트 리팩토링
- useEffect return
- 개발자 특강
- Frontend Roadmap
- 모던 javascript Deep Dive
- 백준 js
- 모던 자바스크립트 딥다이브
- KDT 프로그래머스 데브코스 프론트엔드
- KDT 프로그래머스
- 리팩토링 회고
- 모던 자바스크립트 TIL
- 머쓱이
- react customHook 예시
- 프로그래머스 K_Digital Training
- 모던 자바스크립트 Deep Dive TIL
- 프로그래머스 데브코스 프론트엔드
- 프로그래머스 K_Digital Training 프론트엔드
- 백준 node.js
- 모던 자바스크립트 Deep Dive
- frontend roadmap study
- 프로그래머스 데브코스 프론트엔드 TIL
- Vue3 Router
- 인프런 자바스크립트 알고리즘 문제풀이
- 투포인터알고리즘 js
- 우테캠 회고록
- 프로그래머스 데브코스
- Vue3
- useRef 지역 변수
- K_Digital Training
- TypeScript 문법 소개
- Today
- Total
목록알고리즘_JS (113)
프론트엔드 개발자의 기록 공간
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dRdn9M/btq9rechBYY/KoRDQGO6Xrlz0iAIQPuxIK/img.png)
프로그래머스 Level1 문자열 내 마음대로 정렬하기 문제 설명 : 문자열 배열과 n이 입력으로 주어질때 문자열의 n번째 기준으로 정렬했을때 반환되는 순서대로 문자열을 리턴해주면 된다. 입출력 예1 )"sun", "bed", "car"의 1번째 인덱스 값은 각각 "u", "e", "a" 입니다. 이를 기준으로 strings를 정렬하면 ["car", "bed", "sun"] 입니다. function solution(strings, n) { //사전순으로 앞선 문자열 먼저 정렬 strings.sort(); //charCodeAt으로 아스키코드로 변환 후 해당 문자 기준으로 정렬 strings.sort((a,b) => a.charCodeAt(n) - b.charCodeAt(n)); return strings;..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bOGQfz/btq9s2ORtAl/5xcgjgBSq1FcMQ8HgjQjk1/img.png)
프로그래머스 Level1 두 정수 사이의 합 문제 설명 : 두 정수가 주어질때 사이의 값 합산한 결과 리턴 아주 간단한 문제이다. function solution(a, b) { var answer = 0; let x = a let y = b; if(x > y) [x,y] = [y,x]; for(let i=x; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rMs9S/btq9gROZ1gU/H8ewqf61D01ML6CbDzKzK0/img.png)
프로그래머스 Level1 나누어 떨어지는 숫자 배열 문제 설명 : 배열 요소와 divisor이 나누어 떨어지면 해당 요소를 저장후 오름차순 정렬후 리턴해주면된다. 요소가 없을때는 -1을 리턴해준다. function solution(arr, divisor) { var answer = []; //나누어 떨어지는값 반환 answer = arr.filter((cur) => cur % divisor === 0); //오름차순 정렬 answer.sort((a,b) => a-b); //하나도 없을 경우 return answer.length === 0 ? answer = [-1] : answer; }
프로그래머스 Level1 같은 숫자는 싫어 문제 설명 : 연속적으로 같은 숫자가 나오면 한개를 제외한 나머지 수를 제거후 리턴해주면 된다. function solution(arr) { var answer = []; answer = arr.filter((cur, idx) => cur !== arr[idx+1]) return answer; } 코드 설명 : filter를 이용하여 현재값(cur)과 다음값 arr[idx+1] 을 비교하여 다를때만 리턴해주는 형식으로 필터링 해준다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btQlNc/btq9izUnCWk/0z1ikzTYbKklBLfKstJ4WK/img.png)
프로그래머스 Level1 두 개 뽑아서 더하기 -> 월간 코드 챌린지 시즌1 문제 설명 : 주어진 입력 배열 중 두개의 수를 뽑아 더해서 만들 수 있는 모든 경우의 수를 구하면된다. 접근 방법 1. Set 객체를 이용해 중복된 수를 방지해준다. 2. 이중 반복문을 통해 모든 경우를 구한다. 3. 오름차순 수행 후 리턴 function solution(numbers) { //중복 방지 위해 Set var answer = new Set(); //두개씩 연산 for(let i=0; i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqRL9Y/btq9gRUVAuE/anNpuqIXzOKddiPS3xRPtk/img.png)
프로그래머스 Level1 약수의 개수와 덧셈 -> 월간 코드 챌린지 시즌2 문제 설명 : 주어지는 숫자 사이에 약수들의 개수를 판별해서 짝수개면 해당 수를 더하고 홀수개면 해당 수를 빼면된다. 문제 접근법 1. 약수를 구하기 위해서는 1부터 자신의 수까지 반복문을 통해 나누면서 나머지가 0을 구하면됩니다. 여기서 주의할점이 6의 약수는 1,3,6 입니다. 즉 약수가 3, 3으로 중복될 경우만 제외해주면됩니다. function solution(left, right) { var answer = 0; //left ~ right for(let i=left; i