Coding Test
-
이중우선순위큐Coding Test/Programmers Level 3 2022. 3. 29. 20:49
문제 https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 코드 function solution(operations) { const answer = []; for(let i = 0; i Number(b) - Number(a)); } if(command === 'D'){ if(num === '1') answer.shift(); else a..
-
기능개발Coding Test/Programmers Level 2 2022. 3. 29. 00:58
문제 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 코드 function solution(progresses, speeds) { var answer = []; while(progresses.length !== 0){ progresses.forEach((v, i, arr) => arr[i] = v + speeds[i]); let hasCompleted = true; let count = 0; while..
-
베스트 앨범Coding Test/Programmers Level 3 2022. 3. 27. 17:25
문제 https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 코드 function solution(genres, plays) { const bestAlbum = []; const nominated = genres.reduce((result, genre, index) => { if(!result[genre]) result[genre] = {}; const beforeGenreCount = result[genre]["..
-
프린터Coding Test/Programmers Level 2 2022. 3. 27. 01:11
문제 https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 코드 function solution(priorities, location) { var indicies = Array.from(new Array(priorities.length), (_, i) => i); var sortedValues = []; var sortedIndicies = []; while(priorities.length !== 0){ var hea..
-
올바른 괄호Coding Test/Programmers Level 2 2022. 3. 27. 00:58
문제 https://programmers.co.kr/learn/courses/30/lessons/12909 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr 코드 function solution(s){ var count = 0; for(var char of s){ if(char === '(') { count += 1; } else { if (count === 0) return false; count -= 1; } } return count === 0; } 설명 위의 ..
-
Level 1 | 가운데 글자 가져오기_Slice() vs Substring()Coding Test/Programmers Level 1 2020. 3. 26. 11:50
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 코드 // if-else, slice() const solution = s => { const length = s.length; if (length % 2 === 1) { return s[Math.floor(length / 2)] } else { return s.slice(length / 2 - 1, length / 2 + 1) } } // 삼항 연산자, substring() const solution = s => { return s.length % 2 === 1 ? s[Math.floor(s.lengt..
-
Level 1 | 같은 숫자는 싫어Coding Test/Programmers Level 1 2020. 3. 26. 11:40
문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, - arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. - arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한 사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다..
-
Level 1 | 2016년_JavaScriptCoding Test/Programmers Level 1 2020. 3. 19. 15:24
문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 코드 // ① 요일 배열 지정하기 const solution = (month, date) => { var WEEK = [ "SUN", "MON", "TUE", "WED"..