본문 바로가기

반응형

[프로그래머스] level1. 정수 제곱근 판별 (javascript) 문제 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 나의 풀이 function solution(n) { // console.log(Number.isInteger(Math.sqrt(n))) const val = Math.sqrt(n) return val == Math.floor(val) ? Math.pow(val+1,2) : -1 } 다른 이의 정답 function nextSqaure(n){ switch(n % Math.sqrt(n)){ case 0: return Math.pow(Math.sqrt(n) + 1, 2); default.. 더보기
[프로그래머스] level1. [1차] 비밀지도 (javascript) 문제 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가로줄에.. 더보기
[프로그래머스] level1. 이상한 문자 만들기 (javascript) 문제 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 나의 풀이 function solution(s) { let answer = []; const tmp = s.split(&#39; &#39;); for(let i =0; i < tmp.length; i ++){ let tmp2 = tmp[i].split(&#39;&#39;) for(let j =0; j < tmp[i].length; j ++){ j % 2 === 0 ? tmp2[j] = tmp2[j].toUpperCase() : tmp2[j] = tmp2[j].toLow.. 더보기
[프로그래머스] level1. 문자열 다루기 기본 (javascript) 문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 나의풀이 function solution(s) { if (!(s.length == 4 || s.length == 6)){ return false } else { const tmp = s.split(&#39;&#39;) for(let i =0;i 더보기
[프로그래머스] level1. 자연수 뒤집어 배열로 만들기 (javascript) 문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 나의 풀이 function solution(n) { const str_arr = (n+"").split(&#39;&#39;).reverse(); let answer = [] for( let i =0; i 숫자(진수) parseInt() 숫자 -> 문자열 toString() parseInt를 사용하기 위해 문자열로 바꿔주는 작업을 해주었다. 다른이들의 풀이 function solution(n) { // 문자풀이 // r.. 더보기
[프로그래머스] 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는 기본적으로 배열에 직접적으로 .. 더보기

반응형