본문 바로가기

⏳ 알고리즘/JavaScript 알고리즘

(15)
프로그래머스 - LV2. 점프와 순간 이동(2018 S/W Coding ) 문제 https://programmers.co.kr/learn/courses/30/lessons/12980?language=javascript 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr 코드 function solution(n) { const bin = n.toString(2); let count = 0; for(let i=0; i < bin.length; i++) { if(bin[i] === '1') { count++; } } return count } 다른 코드 function..
프로그래머스 - LV2. 오픈채팅방(카카오 2019 블라인드 채용) 문제 https://programmers.co.kr/learn/courses/30/lessons/42888?language=javascript 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 코드 1) 딕셔너리 이용 function solution(record) { let answer = [] let dict_nickname = {} for (let i=0; i { r = r.split(' ') if (r[0] in stateMap) { answer.push(nicknameDict[r[1]]+stateMap[..
프로그래머스 - LV2. 이진 변환 반복하기(월간 코드 챌린지 시즌1) 문제 https://programmers.co.kr/learn/courses/30/lessons/70129?language=javascript 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 코드 - 정규 표현식 이용 function solution(s) { let answer = [0,0]; while (s != "1") { answer[0] += 1; answer[1] += s.length s = s.replace(/0/g, '') //0제외 answer[1] -= s.length //1의 개수 빼기 s = s.length.toString(2) } return answer; } replace부분에 정규표현식을 사용해서 모든 0을 제거할 수 있었다. 다른 코드 function s..
프로그래머스 - LV2. 기능개발 문제 https://programmers.co.kr/learn/courses/30/lessons/42586?language=javascript 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 코드 function solution(progresses, speeds) { var answer = []; let day = [] for (let i=0; i
프로그래머스 - LV2. 짝지어 제거하기(2017 팁스타운) 문제 https://programmers.co.kr/learn/courses/30/lessons/12973?language=javascript# 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 코드 function solution(s) { for (let i=0; i
프로그래머스 - LV1. 키패드 누르기(카카오 2020 인턴쉽) 문제 https://programmers.co.kr/learn/courses/30/lessons/67256?language=javascript 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 코드 function solution(numbers, hand) { var answer = ''; const key_dict = { 1: [0, 0], 2: [0, 1], 3: [0, 2], 4: [1, 0], ..
프로그래머스 - LV1. 신규 아이디 추천(카카오 2021 블라인드 채용) 문제 https://programmers.co.kr/learn/courses/30/lessons/72410?language=javascript 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 코드 function solution(new_id) { var answer = ''; //1단계, 2단계 new_id = new_id.replace(/[^0-9A-Za-z._-]/g, '').toLowerCase() //3단계 while (new_id.includes('..')){ new_id = new_id.re..
프로그래머스 - LV1. 모의고사 문제 https://programmers.co.kr/learn/courses/30/lessons/42840?language=javascript 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 코드 function solution(answers) { var answer = []; let scores = [0, 0, 0] let pattern_1 = [1,2,3,4,5,1,2,3,4,5] let pattern_2 = [2,1,2,3,2,4,2,5] let pattern_3 = [3,3,1,1,2,2,4,4,5,5..
프로그래머스 - LV1. 체육복 문제 https://programmers.co.kr/learn/courses/30/lessons/42862?language=javascript 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 코드 function solution(n, lost, reserve) { //잃어버렸지만 여분있는 학생 : buthave let buthave = lost.filter(x => reserve.includes(x)) lost = lost.filter(x => buthave.includes(x) == false) reserve..
프로그래머스 - LV1. 완주하지 못한 선수 문제 https://programmers.co.kr/learn/courses/30/lessons/42576?language=javascript 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 코드 function solution(participant, completion) { participant.sort() completion.sort() for (let i=0; i