본문 바로가기

반응형

코딩테스트

[프로그래머스] level1. 음양 더하기 (javascript) 문제 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 나의 풀이 function solution(absolutes, signs) { return absolutes.reduce((acc,cur,i)=> signs[i] ? acc+cur : acc - cur,0) } 초기값을 넣어주는거 잊지말자! 더보기
[프로그래머스] level1. 소수 만들기 (javascript) 문제 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 나의 풀이 sort를 통해서 가장 큰 수 3개를 얻는다. 가장 큰 수 기준으로 나올 수 있는 소수를 모두 구한다. 주어진 배열에서 나올수 있는 3개의 합을 다 구한다. 겹치는걸 찾는다. function solution(nums) { var answer = -1; const arange = nums.sort((a,b)=>a-b).slice(nums.length-3,nums.length+1).reduce((acc,cur).. 더보기
[프로그래머스] level1. 제일 작은 수 제거하기 (javascript) 문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 의식의 흐름 function solution(arr) { if (arr.length === 1) { return [-1] } const tmp = arr.slice() tmp.sort((a,b) => a-b) const val = tmp[0] arr.splice(arr.indexOf(val),1) return arr } sort를 통해 제일 작은 수를 제거했다. 그런데 sort는 기본적으로 배열에 직접적으로 .. 더보기
[프로그래머스] level1. 직사각형 별찍기 ( javascript) 문제 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 나의 풀이 process.stdin.setEncoding(&#39;utf8&#39;); process.stdin.on(&#39;data&#39;, data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); let tmp = "" for(let i =0;i < a ; i++){ tmp += "*" } for(let j =0;j < b ; j++){ console.log(tmp); } }); 다른 이의 정답 process.stdin.setEncoding(&#39;ut.. 더보기
[프로그래머스] level1. 자릿수 더하기 (javascript) 문제 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 의식의 흐름 split을 쓰면 되겠다. -> str에서만 사용 가능하다. -> n이 정수값이다 -> 변환을 어떻게 하지? -> String사용 덧셈을 어떻게 할까? -> reduce함수 사용 -> 현재값이 str값이니까 Number로 다시 정수로 변환해서 더해준다. 초기 코드 function solution(n) { const answer = String(n).split('').reduce((acc,cur)=> acc += Number(cur),0) return answer } 다른이들의 정답 방법1. 문자열 .. 더보기
[프로그래머스] level1. 내적 (javascript) 문제 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]b[0] + a[1]b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 나의 풀이 새로배운 map이랑 reduce를 활용해보았다 function solution(a, b) { const tmp = a.map((cur,i)=> cur*b[i]) const answer = tmp.reduce((acc,curr)=> acc+curr) return answer; } 다른이들의 풀이 function solution(a, b) { return a.reduce((acc, _, i) => acc += a[i] .. 더보기
[프로그래머스] level1. 크레인 인형뽑기 게임 ( javascript) 문제 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때.. 더보기
[프로그래머스] level1. 2016년 (javascript) 문제 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"를 반환하세요. 나의 풀이 function solution(a, b) { var answer = &#39;&#39;; let count = -1; const month = [31,29,31,30,31,30,31,31,30,31,30,31] const date = [&#39;FRI&#39;,&#39;SAT&#39;,&#39;SUN&#39;,&.. 더보기

반응형