[Day3] 알고리즘
자연수 뒤집어 배열로 만들기
https://programmers.co.kr/learn/courses/30/lessons/12932
function solution(n) {
return n.toString().split('').reverse().map((el) => Number(el))
}
문제 2) 체육복
https://programmers.co.kr/learn/courses/30/lessons/42862
/*
문제 이해
1. 학생들의 번호가 체격순
2. 바로 앞번호 또는 뒷번호의 학생에게만 체육복을 빌려 줄 수 있음
3. 가장 많은 수를 찾는다.
전체 학생수 n
도난 당한 학생 번호가 담긴 배열 lost
여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve
*/
/*
문제 풀이
1. 학생 default 배열을 생성한다. (정상적인 학생은 체육복을 가지고 있기 때문에 1로 모두 채워준다.)
2. lost 인자를 이용하여 체육복이 없는 학생 배열을 만들어준다.
3. reserve를 통해 체육복이 없는 학생에게 보충해준다.
*/
코드
테스트 케이스만 통과 ,아직 다 풀지 못했습니다.
function solution(n, lost, reserve) {
let student = Array(5).fill(1) ;
let result = 0;
for(let i=0; i < lost.length; i++){
student[lost[i] - 1] = student[lost[i] - 1] - 1
}
for(let i=0; i < reserve.length; i++) {
if(student[reserve[i]] === 0 ) {
student[reserve[i]]++
}
if(student[reserve[i] + 1] === 0){
student[reserve[i] + 1]++
}
}
for(let i= 0; i < student.length; i++) {
result += student[i]
}
return result
}
문제 3) 약수의 합
https://programmers.co.kr/learn/courses/30/lessons/12928
문제 풀이
약수 구하기
자기보다 작은 수로 나뉘는 지 확인한다.
자기와 나누어 나머지가 0이면 약수이다.
- 약수를 구한다.
- 구한 약수를 모두 배열에 넣는다.
- 배열을 순회하여 모두 더해 반환한다.
- 마지막으로 1을 더해준다.
function solution(n) {
let arr = [];
let result = 0;
for(let i =1; i <= n; i++ ){
arr.push(i)
}
arr = arr.filter((el)=> n % el === 0)
console.log(arr);
for(let i = 0; i < arr.length; i++) {
result += arr[i]
}
return result
}
git주소
Author And Source
이 문제에 관하여([Day3] 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jangwonyoon/Day3-알고리즘저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)