본문 바로가기

반응형

level1

[프로그래머스] level1. 신고 결과 받기 (javascript) 문제 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 나의 풀이 function solution(id_list, report, k) { var answer = new Array(id_list.length).fill(0); const reportedObj = {} report.forEach(el=>{ const arr = el.split(" ") if(reportedObj[arr[1]]){ if(!reportedObj[arr[1]].includes(arr[0])){ reportedObj[arr[1]].p.. 더보기
[프로그래머스] level1. 최소직사각형 (javascript) 문제 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 나의풀이 function solution(sizes) { let arr = [0,0] for(let i = 0 ; i b-a) if(b>arr[0]){ arr[0] =b } if(s>arr[1]){ arr[1] =s } } return arr[0]*arr[1] } 결과값이 결국 두 변(가로,세로)을 곱하는 것이므로 가로,세로에 얽매일 필요가 없었다. sort로 한쪽.. 더보기
[프로그래머스] level1. 위클리 챌린지 2주차 (javascript) 문제 프로그래머스 문제 링크 나의 풀이 function solution(scores) { //배열 뒤집기 for(let i =0 ; i < scores.length;i++){ for(let j = i ; j < scores[0].length;j++){ let tmp = scores[i][j] scores[i][j] = scores[j][i] scores[j][i] = tmp; } } //최고, 최저점수 제거 for(let i = 0 ; i < scores.length;i++){ const max = Math.max(...scores[i]); const min = Math.min(...scores[i]); if(scores[i][i] === max){ scores[i].splice(i,1); if(scor.. 더보기
[프로그래머스] level1. 숫자 문자열과 영단어 (javascript) 문제 문제 나의 풀이 function solution(s) { return +s.replace(/zero/g,0) .replace(/one/g,1) .replace(/two/g,2) .replace(/three/g,3) .replace(/four/g,4) .replace(/five/g,5) .replace(/six/g,6) .replace(/seven/g,7) .replace(/eight/g,8) .replace(/nine/g,9) } replace를 이용해서 풀었다. 또한 number형태로 하기위해 앞에 +를 붙여주었다. 다른 풀이 split와 join을 통해 풀수도 있다. 예를들어 let string = "onetwothree" let arr = string.split("one")위 와 같이 하면 a.. 더보기
[프로그래머스] level1. 약수의 개수와 덧셈(javascript) 문제 프로그래머스 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 나의 풀이 function solution(left, right) { var answer = 0; let diff = right - left; function judge(num){ let cnt = 0; for(let i = 0 ; i 더보기
[프로그래머스] level1. 신규 아이디 추천 ( javasscript) 문제 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이디가 .. 더보기
[프로그래머스] level1. 하샤드 수 ( javascript) 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 나의 풀이 function solution(x) { let div = 0; let tmp = x; do{ let val1 = parseInt(tmp/10) let val2 = tmp%10 div += val2 tmp = val1 }while (tmp !== 0) return x%div ==0 ? true :false; } 아래 방법처럼 split("")으로 정수를 문자로 만들고,이를 잘라서 계산할까도 생각해봤는데, 그냥 예전이.. 더보기
[프로그래머스] level1. 예산 (javascript) 문제 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 나의 틀린 풀이 function so.. 더보기

반응형