코딩테스트 연습 - 체육복 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최대한 체육복을 많이 입히는 경우를 구하는 문제이다 도난당한 학생 배열과 여벌이 있는 학생의 배열이 순서대로가 아닐 수도 있다. 이건 검색해서 안 것이다. 테스트케이스를 알려준다면 참 좋을텐데 그래서 그 둘을 정렬했다. 또한 내가 도난당했지만 여분이 있으면 우선적으로 내가 먼저 입어야 한다 function solution(n, lost, reserve) { var answer = 0; let arr = [] lost = los..
코딩테스트 연습 - 성격 유형 검사하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩보단 독해력이 더 중요한 문제이다. 문제가 길지만 그런 문제들은 대신 코딩이 단순하다. const solution = (survey, choices) => { let answer = ''; let arr = [ {name : 'R', num : 0}, {name : 'T', num : 0}, {name : 'C', num : 0}, {name : 'F', num : 0}, {name : 'J', num : 0}..
코딩테스트 연습 - 키패드 누르기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 키패드 누르기 [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 구현문제 const solution = (numbers, hand) => { for(let i = 0; i < numbers.length; i++){ numbers[i] = String(numbers[i]); } let numArr = [ ['1', '2', '3'],..
코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 구현문제 const solution = (new_id) => { let allowedArr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; for(let i = 0; i 14) ..
코딩테스트 연습 - [1차] 다트 게임 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 구현문제 주의할 점은 10은 두 자리 수란 걸 유념해야 한다. 내 코드 const solution = (dartResultArr) => { let answer = 0; let dartResult = []; dartResultArr = dartResultArr.split(''); console.log(`dartResultArr : ${dartResultArr}`); // 10을 배열에 넣기 위한 for문 for (let i = 0; i < dartResultArr.length; i++) { if (dartResultArr[i] === '1' &&..
코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 구현문제 내 코드 const elements2Binry = (n, arr) =>{ // 배열 값들을 이진법으로 만들고 // console.log(`arr:${arr}`); let result = []; for(let i = 0; i < arr.length; i++){ let arrNum = arr[i]; // console.log(`arrNum:${arrNum}`);..
코딩테스트 연습 - 이진 변환 반복하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 내코드 const solution = (s) => { let answer = []; let zeroCnt = 0; let binaryCnt = 0; let noZeroArrLength = 0; let tempS = ""; while(s !== "1"){ tempS = s.split('0').join(''); zeroCnt += (s.length - tempS.length); s = tempS; noZeroArrLength = s.length; let binaryArr = []; while(noZeroArrLength > 1){ binaryArr..
코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 구현문제다 const solution = (n) => { let sum = 0; let nArr = []; //앞뒤 반전(3진법) while(n >= 3){ nArr.push(n % 3); n = Math.floor(n / 3); } nArr.push(n); //console.log(`앞뒤반전 nArr:${nArr}, n:${n}`..
코딩테스트 연습 - 크레인 인형뽑기 게임 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 구현 문제다 내 코드 // const display = (board, moves) => { // for (let bIdx = 0; bIdx < board.length; bIdx++) { // console.log(`${board[bIdx]}`); // } // console.log(`==============`); // console.log(`moves:${moves}`); // }; const ..
코딩테스트 연습 - 최대공약수와 최소공배수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 나의 코드 const greatestCommonFactors = (n,m) => { let commonFactorsArr = []; let countN = 1; let originalN = n; let smallerNum = n >= m? m : n; while(smallerNum > 0){ if(n % smallerNum === 0 &..
코딩테스트 연습 - 예산 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 그리디이다. 예산 맞춰서 최대한 많은 부서에 돈을 주는 문제다 const solution = (d, budget) => { let cnt = 0; d = d.sort((a, b) => a - b); let answer = d[0]; let sum = budget; let i = 0; while(sum >= 0){ sum -= d[i]; cnt = i; i++; } return cnt; };..
코딩테스트 연습 - 실패율 | 프로그래머스 (programmers.co.kr) 입력된 배열값들은 각각 막힌 스테이지를 나타낸다. 각 스테이지마다 막힌률을 구해서 배열로 나열하는게 문제다. 나의코드 function solution(N, stuckedStagesArr) { let denominator = stuckedStagesArr.length; // 분모 let answerJson = []; for (let stage = 1; stage b[1] - a[1]); let result = []; answerJson.map((_, i, arr) => { result.push(answerJson[i][0]); }); return result; } 스테이지숫자만큼 반복을 돌리고 그 안에서 스테이지와 같은 값들을 ..

코딩테스트 연습 - 모의고사 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr a,b,c 학생이 일정 패턴으로 문제를 찍는데 각자 패턴으로 얼마나 맞췄는지 알아보는 문제다. const solution = (answers) => { let arr1 = [1, 2, 3, 4, 5]; let arr2 = [2, 1, 2, 3, 2, 4, 2, 5]; let arr3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]; let trioAnswers = [arr..
코딩테스트 연습 - 콜라츠 추측 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 내 코드 function solution(num) { let count = 0; while (num !== 1 && count < 500) { if (num % 2 === 0) nu..
코딩테스트 연습 - 제일 작은 수 제거하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 배열 안에서 가장 작은 수만 빼고 리턴, 배열이 하나밖에 없으면 [-1] 리턴 내 코드 function solution(arr) { //console.log('Math.min(...arr) ' + Math.min(...arr)); arr.forEach((val, i, arr) => { if (Math.min(...arr)..

코딩테스트 연습 - 정수 제곱근 판별 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr 문제 설명 예를들어 : 주어진 수가 121, 11의 제곱이면 (11 + 1) ^ 2 리턴, 만약 132처럼 어떤 숫자도 제곱해서 132가 안된다면 -1을 리턴 내 코드 function solution(n) { let answer = 0; let tempNum = 1; while (n >= Math.pow(tempNum, 2)) { if (n =..
코딩테스트 연습 - 나누어 떨어지는 숫자 배열 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 배열 요소들이 특정 숫자에 나누어 떨어지는지 알아보는 문제다 나의 코드 function solution(arr, divisor) { let answer = []; arr.filter((val) => { if (val % divisor === 0) { return answer.push(val); } ..
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 숫자 뒤집는 것이다. 전에 풀었던 문제와 굉장히 유사하다. (참고 : 코딩테스트 연습 - 자릿수 더하기 | 프로그래머스 js ★★☆☆☆ (tistory.com)) 나의 코드 function solution(n) { let answer = []; console.log(n % 10) while..
코딩테스트 연습 - 이상한 문자 만들기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 받은 문자열 s를 아래 표처럼 리턴하라이다. 홀수번째는 대문자, 짝수는 소문자 s return "try hello world" "TrY HeLlO WoRlD" 나의 코드 const solution = (s) => { let answer = true; s = s.split(' '); // 단어로 나눈 배열 만들고 let withSpaceArr = []; // 띄..

코딩테스트 연습 - 문자열 내 p와 y의 개수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 문자열 안에서 p와 y의 개수를 구하고(대소문자 상관 안함) 개수가 같거나 둘 다 아예 없으면 참을, 아니면 거짓을 반환하는 문제 내 코드 주석에 설명대로 단순 카운트 문제다.

코딩테스트 연습 - K번째수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 배열 중 일부를 추출해서 어떤 번째의 숫자를 출력하는 문제다. 나의 코드 슬라이스로 자르고 정렬하고 answer에 넣는다. 테스트2번에서 실패했다. 오류라도 띄워주지. 슬라이스를 안쓰고 코딩으로 써보자 2차 시도 그래도 2번테스트에서 실패했다. 다른 사람 코드 function solution(array, commands) { var answer = []; for(var i=0; i{return a-b}); //sort가 다르다 answer.push(..

코딩테스트 연습 - 문자열 내림차순으로 배치하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 문자열을 큰 글자대로 정렬하는 문제이다. 소문자는 대문자의 앞에 온다. 내코드 정렬함수를 대소문자 따로하니 기존보다 두 배가 됐다. 합쳐서 하는 방법은 있지 않았을까 더 간단하게 만들었다. 경과시간도 평균 2.0ms 줄어들었다 다른사람코드 놀랍게 내가 개정한 코드와 동일했다. 간접접으로 칭찬받은 느낌이다.

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr x의 배수를 n만큼 나열하는 배열을 구하는 문제다 내코드 배수 넣어주면 된다. 남의 코드 크게 다르진 않다

코딩테스트 연습 - 자릿수 더하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 숫자의 자리수를 더하는 문제다 예) 123 -> 1+2+3 = 6 내코드 이중 for문을 써도 9 * 9, 81번밖에 구문이 돌아가지 않기 때무에 굉장히 빠르다고 자부한다. 또한 자리에 맞는 숫자가 있으면 break를 줬기 때문에 100000...이 아닌이상 81번 이하로 돌아간다. Math.pow를 써..

코딩테스트 연습 - 약수의 합 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 0 ~ 3000 중 한 숫자의 야구를 구하는 것이다. 예) 2 4 6 12 약수 1 + 2 = 3 1 + 2 + 4 = 7 1 + 2 + 3 + 6 = 12 1 + 2 +3 + 4 + 6 + 12 = 28 내 코드 for문을 절반만 도는 점과 set, 그리고 reduce를 썼다. 다른 사람 코드 다른 사람 코드와 비교했을 때 내..

코딩테스트 연습 - 문자열 다루기 기본 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 문자열에 숫자만 포함됐는지 확인하는 문제다. 정규식을 사용하려 했다. 1차 시도 function solution(s) { let answer = true; const regex = /[0-9]/g; // 0~9까지의 숫자인 정규식 //includes 정규식 안된다. return s.includes(regex) === ..
코딩테스트 연습 - 서울에서 김서방 찾기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니 programmers.co.kr 배열 안에서 어느 요소의 인덱스를 찾는 문제다. indexOf를 이용하면 쉽게 푼다 function solution(seoul) { return `김서방은 ${seoul.indexOf("Kim")}에 있다`; } 다른 사람도 비슷하게 했다.

코딩테스트 연습 - 가운데 글자 가져오기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 문자열의 가운데 글자를 가져오는 문제다 나는 문자열 길이가 홀수, 짝수일 때 출력이 다르기 때문에 두 경우를 나눠서 구현했다. function solution(s) { // 가운데 글자를 반환한다, 가운데를 알아야 한다, 짝수와 홀수일 때 다르다. let arr = s.split(''); if(arr.length % 2 === 1)..

코딩테스트 연습 - 평균 구하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr for문으로 한번에 배열을 더하고 for문을 탈출해서 배열 길이만큼 나눴다. function solution(arr) { let answer = 0; for(let i = 0; i < arr.length; i++){ answer += arr[i]; } answer = answer / arr.length; return a..

코딩테스트 연습 - 짝수와 홀수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 0도 잊지 말자 function solution(num) { let answer = ''; if(num % 2 === 0 || num === 0){ answer = "Even";} else{ answer = "Odd";} return answer; } 다른 사람 코드를 보면 3항 연산으로 한 사람도 있다. 괜찮은 ..
- Total
- Today
- Yesterday
- 백틱
- yarn
- 공부법
- 콜백
- Callback
- 호이스팅
- js
- Console
- function
- Rest
- elasticsearch
- typeorm
- postman
- 코딩습관
- arrowfunction
- 프로그래머스
- GraphQL
- 에러
- Spread
- arrow
- axios
- 명령어
- Playground
- nodemon
- 도커
- error
- NPM
- 코드캠프
- docker
- 독커
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |