본문 바로가기
300x250

기초알고리즘24

[프로그래머스 1단계] 하샤드 수 문제설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 주의사항 x는 1 이상, 10000 이하인 정수입니다. 입출력예시 코드 function solution(x) { let str = x.toString() let num = 0 for(let i=0; i < str.length; i++){ num += parseInt(str[i]) } return x % num !== 0 ? false : true } 해석 먼저 문자열로 만들어준후, 반복문을 돌린다. num에다가 하나씩 더해.. 2021. 6. 23.
[프로그래머스 1단계] 핸드폰 번호 가리기 문제설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 주의사항 s는 길이 4 이상, 20이하인 문자열입니다. 입출력예시 코드 function solution(phone_number) { let answer = ''; let back = phone_number.slice(phone_number.length-4) for(let i =0; i < phone_number.length-4; i++){ answer += "*" } return answer + back; } 인기많고 간결한.. 2021. 6. 23.
[프로그래머스 1단계] 행렬의 덧셈_문제풀이 문제설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 주의사항 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력예시 코드 function solution(arr1, arr2) { let answer = []; for(let i =0; i < arr1.length; i++){ let temp = []; for(let j=0; j < arr1[i].length ; j++){ let sum = arr1[i][j] + arr2[i][j] temp.push(sum); } answer.push(temp); } return.. 2021. 6. 23.
[프로그래머스 2단계 문제] 기능개발 문제설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 주의사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자연수.. 2021. 6. 21.
[알고리즘] 체육복_프로그래머스 1단계 문제설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 .. 2021. 6. 20.
[알고리즘] 내적_프로그래머스 1단계 문제설명 길이가 같은 두 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의 길이) 주의사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력예시 코드 function solution(a, b) { var answer = 0; for(let i =0 ; i< a.length ; i++){ let num = a[i] * b[i] answer += num } return answer; } 한줄 코드... let solution=(a,b).. 2021. 6. 20.
반응형