본문 바로가기

알고리즘/js

(23)
[프로그래머스] 처음부터 다시 푸는 코테(1) -20문제 완료 1. function vs constfunction solution => (num1, num2)=>Math.floor(num1/num2)라고 했더니 오답이었다.이유는 function은 화살표함수를 쓸 수 없다.function solution(num1, num2) { return Math.floor(num1 / num2);}   2. returnreturn은 아무대나 넣어주면 안된다.  반환하는 거라서 for안에도 넣어줘야되는 줄 알고아래 코드처럼 작성했다.function solution(numbers){ let sum=0; for(i of numbers){ return sum+=i }return sum/numbers.length;} 주의 !!!!  for문 안에 return ..
메서드 split() 메서드는 문자열을 부분 문자열(substring)로 구분해 문자열 객체를 여러 개의 문자열로 이루어진 배열로 분할합니다.reverse() 메서드는 배열을 반전합니다. 첫 번째 배열 요소는 마지막 요소가 되고 마지막 요소는 첫 번째 요소가 됩니다.join() 메서드는 배열의 모든 요소를 문자열로 결합합니다.
Lv.0 약수의 합 [18/100] 만약 n값이 12라면? 1로 나눌 경우 몫은 12,2로 나눌 경우 몫은 63으로 나눌 경우 몫은 4 4로 나눌 경우 몫은 3 쭉쭉쭉 뽑아서  새배열에 push해주면 된다. 그리고 reduce로 누적연산하면 끝. function solution(n) { let arr =[] for(i=1; i acc+cur,0)}
Lv.0 자릿수 더하기 [17/100] function solution(n) { return String(n).split('').reduce((acc, cur) => acc + cur * 1, 0);}cur*1을 하는 이유는 숫자로 변환하기 위해서다.그냥 출력하면 문자열 123이런식으로 출력되기 때문에 오답이 된다.
Lv.0 평균구하기 [16/100] 입출력 예arrreturn [1,2,3,4]2.5[5,5]5     누적연산해서 길이만큼 나눠서 몫을 구하면 된다.function solution(arr){ let sum=arr.reduce((acc,cur)=> acc+cur,0); return sum/arr.length;}
Lv.0 양꼬치 [15/100] function solution(n, k) { return n*12000+k*2000-(Math.floor(n/10)*2000)}
Lv.0 중앙값 구하기[14/100] [문제]요약) 배열을 오름차순(사전적)하여 중앙값을 return하는 solution함수를 완성.arrayresult[1,2,7,10,11]7[9,-1,0]0                답 스포방지           원래 sort((a,b)=>(a-b))인데 (쉽게 말해 빼서 마이너스가 더 작으니까 뒤로 빼는 거임.) a-b로 간결하게 하였고 길이만큼 2로 나눈 값이 가운데 배열이 될테니까 array[Math.floor(array.length/2)]해주면 끝. function solution(array){ array.sort(function(a,b){ return a-b; }) return array[Math.floor(array.length/2)]}
Lv.0 각도기[8/100] [문제]요약) 예각이면 1, 직각이면 2 ,둔각이면 3, 평각이면 4를 return하는 solution함수 완성.[입출력 예]angleresult7019131804                            답 스포 방지                     function solution(angle){ return angle