본문 바로가기

반응형

알고리즘

(37)
평균 구하기 - 프로그래머스 level 1(javascript) 오늘은 프로그래머스 평균 구하기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12944 코딩테스트 연습 - 평균 구하기 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr programmers.co.kr 풀이 방법 - 단순히 더해준 후에 배열의 길이만큼 나눠주면 됩니다. 소스 코드 function solution(arr) { return arr.reduce((acc,cur)=>acc+cur) / arr.length; }
하샤드 수 - 프로그래머스 level1 오늘은 하샤드 수를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 풀이 방법 - 숫자 => 문자로 변환한 후에 split으로 쪼개준 후, reduce를 이용해서 합을 구해줍니다. 소스 코드 function solution(x) { const sum = String(x).split('').map((v)=>+v).reduce((acc,cur)=..
수박수박수박수박수박수? - 프로그래머스 level1 오늘은 수박수박수박수박수박수? 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr 풀이 방법 - 1번 풀이 : '수'는 짝수 인덱스에 '박'은 홀수 인덱스에 나타나기 때문에 최종 문자열에 인덱스에 따라서 다르게 문자를 넣어주면 됩니다. function solution(n) { let answer = ''; for(let inde..
제일 작은 수 제거하기 - 프로그래머스 level 1 오늘은 제일 작은 수 제거하기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 풀이 방법 - 1. 먼저 Math.min을 이용해서 작은 값을 뽑아냅니다. - 2. 반복문을 이용해서 작은 값을 만나면 splice 연산을 이용해서 배열 내에서 제거해줍니다. - 3. 마지막으로 배열의 길이가 0이면 -1 아니면 제거된 ..
약수의 합 - 프로그래머스 level 1 오늘은 약수의 합 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 풀이 방법 이 문제는 단순히 1부터 n까지의 수 중 약수를 모두 찾는 문제이기 떄문에 n을 나눈 수가 나머지가 0인 모든 수를 더해주면 됩니다. 소스 코드 const getNumber = (n, i) => { return n% i ===0? t..
자릿수 더하기 - 프로그래머스 level 1 오늘은 프로그래머스 level1 문제인 자릿수 더하기를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 풀이 방법 1. 숫자를 문자열로 만듭니다. 2. 문자열을 split을 이용해서 배열로 만듭니다. 3. 문자를 정수로 반환합니다. 4. reduce를 이용해서 값을 누적해줍니다. 소스 코드 fu..
자연수 뒤집어 배열로 만들기 - 프로그래머스 level 1 오늘은 자연수 뒤집어 배열로 만들기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 풀이 방법 1. 정수를 문자열로 만든다. 2. 문자열을 쪼개준 후 역순으로 바꾼다. 3. 문자를 정수로 바꾸면 끝 소스 코드 function solution(n) { return String(n).spli..
정수 내림차순으로 배치하기 - 프로그래머스 level 1 오늘은 간단하게 정수 내림차순으로 배치하기 문제를 풀어보겠습니다. 문제는 다음과 같습니다. https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 풀이 방법 1. 문자가 아니기 때문에 먼저 문자로 바꿔줍니다. String(n) 2. 바꿔준 문자를 split을 이용해서 배열로 만들어줍니다. .split('') 3. 배열을 역순으로 바꿔줍니다. reverse() 4. jo..