본문 바로가기

programmers

(181)
Programmers - Js - 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 나의 풀이 자연수 n을 문자열로 변환 후 각 자릿수를 나누어 배열에 저장하며, 원하는 결과는 12345 -> 54321 즉 반대로 나타나야 하기 때문에 reverse() 함수를 통해 바꾸어주고 마지막으로 문자열인 값을 number 타입으로 반환하기위해 map함수로 새로운 배열을 리턴하여 문제를 풀었다. function solution(n) { let answer = []; answer = n.toString().split("").reverse().map((item) => Number..
Programmers - Js - 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 나의 풀이 요즘 React를 통해 개인 프로젝트를 진행하다보니 불변성을 지키기 위해 spread operator를 사용하여 작업하는것이 습관이 되어 아래와같이 문제를 풀었다. 다른 사람들의 풀이를 보니 어렵게 생각하지 말고 쉽게 쉽게 생각하여 문제를 풀어야겠다. function solution(n) { let answer = []; for(let i=1; i acc ..
Programmers - Js - 자릿수 더하기 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 나의 풀이 number type의 자연수 N을 자릿수 별로 분리하기 위해 문자열로 변경하였으며, split()함수로 자릿수를 배열로 나눠주고 reduce()함수로 배열을 연산하여 간단히 문제를 풀었습니다. function solution(n) { return n.toString().split("").reduce((acc, cur) => acc + Number(cur), 0); }
Programmers - Js - 평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 나의 풀이 js 내장함수인 arr.reduce를 사용하여 간단히 풀 수 있었다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce function solution(arr) { return arr.reduce((acc, cur) => acc + cur) / arr.length }
Programmers - Js - 짝수와 홀수 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 나의 풀의 삼항 연산자를 통해 간단히 풀 수 있었다. function solution(num) { return num % 2 === 0 ? "Even" : "Odd" }