일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 리팩토링 회고
- KDT 프로그래머스
- Vue3
- 머쓱이
- 우테캠 회고록
- 프로그래머스 데브코스 프론트엔드 TIL
- 프로그래머스 K_Digital Training
- 백준 node.js
- Vue3 Router
- KDT 프로그래머스 데브코스 프론트엔드
- 투포인터알고리즘 js
- 모던 javascript Deep Dive
- 모던 자바스크립트 Deep Dive TIL
- 개발자 특강
- useRef 지역 변수
- 모던 자바스크립트 Deep Dive
- Frontend Roadmap
- 프로그래머스 데브코스 프론트엔드
- useEffect return
- 모던 자바스크립트 딥다이브
- 프로그래머스 K_Digital Training 프론트엔드
- frontend roadmap study
- react 프로젝트 리팩토링
- 모던 자바스크립트 TIL
- TypeScript 문법 소개
- 인프런 자바스크립트 알고리즘 문제풀이
- react customHook 예시
- 프로그래머스 데브코스
- K_Digital Training
- 백준 js
- Today
- Total
목록알고리즘_JS/프로그래머스_Level1 (52)
프론트엔드 개발자의 기록 공간
프로그래머스 Level1 폰켓몬 문제 문제 설명 : 주어진 폰켓몬에서 N/2만큼 폰켓몬을 고를 수 있는데 최대한 서로 다른 종류의 폰켓몬을 골랐을때 몇 종류의 폰켓몬을 선택할 수 있는지 파악하는 문제이다. function solution(nums) { var answer = 0; //폰켓몬 중복제거 후 리스트 배열로 변환 let newNums = new Set(nums); newNums = Array.from(newNums); //n = 가질 수 있는 폰켓몬 수 let n = nums.length / 2; let tmp = []; //n만큼의 폰켓몬을 tmp배열에 삽입 for (let i = 0; i < n; i++) { tmp.push(newNums[i]); } //위 반복문을 통해 N/2마리에 해당하..
프로그래머스 Level1 2010 카카오 개발자 겨울 인턴십 문제 문제 설명 : 인형의 정보 board와 크레인 작동위치 moves가 주어질때, 크레인을 움직여 해당 인형을 바구니에 순차적으로 쌓고 같은 인형이 있다면 인형을 없애주고 없어진 인형의 개수를 카운트 하면된다. 그림에서 보는거처럼 바구니는 stack자료구조 특성을 이용하면 된다. 또한 크레인 위치가 주어질때 해당 열만 탐색해서 인형이 있다면 처리해주면 된다. function solution(board, moves) { var answer = 0; //board 이차원 배열 깊은 복사 let list = board.map((v) => v.slice()); //바구니 let stack = []; //크레인 위치정보만큼 반복 for (let i =..
프로그래머스 Level1 키패드 누르기 -> 2020 카카오 인턴십 문제 문제 설명 : 주어진 입력 numbers에 따라 왼쪽 손가락으로 터치할 것인가 오른쪽 손가락으로 터치할 것인가 선택하면 되는 문제입니다. 조건문은 크게 4가지 경우로 나뉩니다. 1. 1,4,7의 경우 왼쪽 손가락으로만 이용. 2. 3,6,9의 경우 오른쪽 손가락으로만 이용 3. 가운데일 경우 왼쪽, 오른쪽 손가락에서 가장 가까운 손가락 이용 3-1. 왼쪽 오른쪽이 같은 거리라면 hand로 주어지는 손가락 이용 첫번째 풀이 function solution(numbers, hand) { var answer = ""; //초기 왼쪽 손가락 위치 (3,0) let Li = 3; let Lj = 0; //초기 오른쪽 손가락 위치 (3,2) ..
프로그래머스 Level1 체육복 문제 -> 탐욕법(Greedy) 유형 문제 설명 : 체육복을 읽어버린 학생중 몇명이 빌릴 수 있는지 파악하면 되는 문제이다. 마지막 제한사항이 제일 중요하다. 잃어버린 학생 자신이 여분이 있을 경우, 자기 자신것을 입으면 되기때문에 lost, reserve에 중복된 학생 정보가 있으면 삭제 후, 위의 조건을 해결하면 된다. 코드 설명 : 첫번째 for문에서 잃어버린 학생 자신이 여분이 있을 경우, 중복 처리해주는 로직이다. 해당 로직 수행후 중복 제거된 정보는 tmpLost, reserve에 담긴다. 두번째 for문을 통해 잃어버린 학생들의 정보를 순회하면서 앞과 뒤학생 정보를 여분의 학생정보에서 찾는다. 찾았다면 여분의 학생정보를 삭제 해주고 cnt를 증가한다. 모든 로..
프로그래머스 Level1 모의고사 문제 문제 풀이 : answers의 정답이 주어졌을때 1,2,3번의 학생이 찍는 순서에 따라 몇 문제 맞췄는지 파악해서 제일 많이 맞춘 학생을 찾으면 되는 문제이다. 간단하게 풀면 answers의 반복문을 돌리면서 1,2,3번의 학생의 답과 비교해서 맞추면 새로운 배열에 카운트를 해준다. 그 후 최대값에 해당하는 배열의 인덱스를 추출하면 학생이 번호가 되기때문에 추출해준다. 코드 설명 : 최종적으로 answer 배열에 학생들의 정보가 들어간다. 시간복잡도는 map과 for문을 사용했지만 그 안에 포함된 연산은 O(1)이므로 최종적으로 O(n)의 시간복잡도를 가진다. * 위의 코드는 개선시킨 문제이고 처음으로 해결했던 방법은 Map객체를 사용했다. 하지만 좀더 간편하고 직..