알고리즘 공부

    프로그래머스 / Level1 , 2021 KAKAO BLIND RECRUITMENT , 신규 아이디 추천 자바스크립트 , JS

    프로그래머스 / Level1 , 2021 KAKAO BLIND RECRUITMENT , 신규 아이디 추천 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이게 Level1 ? 레벨 정하는 기준이 궁금 프로그래머스 레벨 2 문제들보다 로직 신경쓸게 더 많았음. 정답 const check = (Arr) => { // 맨 앞에 마침표 제거 if (Arr[0] === ".") Arr = Arr.splice(1, A..

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 11048 , 이동하기 [dp]

    백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 11048 , 이동하기 문제 출처 https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 풀이 dp로 풀어야 통과하고 bfs 로 돌려보니 메모리 초과가 났다. 근데 최단거리 구하는 문제는 아니라서 bfs로 풀기는 적합하지 않다. 그냥 연습삼아 해봤음 정답 1. dp const input = require("fs") .readFileSync("/dev/stdin") .toSt..

    프로그래머스 / Level2 , 2017 팁스타운 , 예상 대진표 자바스크립트 , JS

    프로그래머스 / Level2 , 2017 팁스타운 , 예상 대진표 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 서로 대전하는 경우가 어떤 경우인지 잠시 생각해보면 금방 해답을 얻을 수 있을 것이다. 홀수 번호는 2로 나누고 1을 더해주고 짝소 번호는 2로만 나누어준다. 이후 이 두 값이 서로 같다면 두 번호는 서로 대전을 한다. 정답 const tnm = (num) => { if (num % 2 === ..

    프로그래머스 / Level2 , 연습문제 , N개의 최소공배수 자바스크립트 , JS

    프로그래머스 / Level2 , 연습문제 , N개의 최소공배수 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(arr) { var answer = 0; arr.sort((a, b) => a - b); let k = Math.max(...arr); let m = arr.length; let j = 1; while (true) { let check = true; let tmp =..

    프로그래머스 / Level2 , 탐욕법(Greedy) , 구명보트 자바스크립트 , JS

    프로그래머스 / Level2 , 탐욕법(Greedy) , 구명보트 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(people, limit) { var answer = 0; let cnt = 0; people.sort((a, b) => a - b); let K = people.length; let idx = 0; while (cnt !== K) { let tmp = peopl..

    프로그래머스 / Level2 , 2017 팁스타운 , 짝지어 제거하기 자바스크립트 , JS

    프로그래머스 / Level2 , 2017 팁스타운 , 짝지어 제거하기 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 function solution(s) { var answer = -1; let arr = []; for (let i of s) { arr.push(i); if (arr.length > 1) if (arr[arr.length - 1] === arr[arr.length - 2]) arr.spli..

    백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 12865 , 평범한 배낭

    백준/ Gold 5 문제 , 백준 Node.js 자바스크립트 12865 , 평범한 배낭 문제 출처 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 풀이 이 풀이는 다음의 로직을 담고 있다. 1. 우선 각 물품의 무게와 가치값을 arr 배열에 담아준다. 2. 이제 각 물품이 어떤 물품들이랑 같이 담겨졌을때, 가장 최대의 가치값을 가지는지 체크를 해준다. K가 10일 때 무게가 4인..

    프로그래머스 / Level1 , 2019 카카오 개발자 겨울 인턴십 , 크레인 인형뽑기 게임 자바스크립트 , JS

    프로그래머스 / Level1 , 2019 카카오 개발자 겨울 인턴십 , 크레인 인형뽑기 게임 자바스크립트 , JS 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 저장해두고 한번에 처리하려면 로직이 생각보다 복잡하니 바로바로 없애줄것들은 바로 없애버려주면서 카운트해주면 생각보다 수월하게 풀린다. 정답 function solution(board, moves) { var answer = 0; let height = board.len..