카테고리 없음
프로그래머스 문제 요구사항 및 해결로직 정리
0to1ton
2023. 8. 24. 09:36
이 리스트는 프로그래머스 문제별 문제유형 및 요구사항을 정리한 글
- 짝수와 홀수
- 조건문
- %2 === 0 짝수 분별법
- 평균구하기
- 배열의 합을 구하는 법
- for, reduce
- 배열의 합을 구하는 법
- 자릿수 더하기
- 요구사항: 모든 자리수를 합쳐라
- 숫자를 쪼개서 합산하는 방법
- 숫자 -> 문자 형 전환 후 split -> 배열형태로 만들고 reduce, for 사용해서 합산
- String(n) / n+"" -> .split("") -> reduce ((accum, curr) => Number(accum) + Number(curr), 0);
- for
- 숫자 -> 문자형 전환후 -> for loop
- String(n) -> for (sum += n[i])
- 숫자 -> 문자형 전환후 -> for loop
- 각 자리수만 남기고 합치기
- do while loop
- do {
sum += n%10;
new_n = n/10;
n = Math.floor(new_n);
// 123%10 3 => sum, new_n 12.3 -(floor)-> 12.3-> 12 = n
// 12%10 3+2 => sum, new_n 12/10 = 1.2 -> 1 = n
// 1%10 3+2+1 => sum, new_n 1/10 = 0.1 -> 0 =n
} while(n>0) // n이 0보다 크면 계속 돌아라. n이 0보다 같거나 작아지면 while문을 멈춰라
- 숫자 -> 문자 형 전환 후 split -> 배열형태로 만들고 reduce, for 사용해서 합산
- 약수의 합
- 요구사항: 약수를 찾아서 다 합해라
- 약수는 n %i ===0
- 방법들
- while
- i =n , sum 선언 -> while (i > 0) i--; 돌면서 -> if (n % i ===0) 이면 sum += i
- for loop
- n=i, n부터 시작해서 i--; -> if (n% i ===0) sum +=i
- while
- 요구사항: 약수를 찾아서 다 합해라
- 나머지1
- 요구사항: n % x === 1 인 수 중 제일 작은 x
- 방법들
- array.push
- for (i =1; i < n; i ++)
{ if (n%i ===1){
arr.push(i}
}
}
return arr[0]
- for (i =1; i < n; i ++)
- for(let i = 0; i < n; i++){
if (n % i === 1) { reutrn i
- array.push
- x만큼 간격있는 n개 숫자
- 요구사항: n개의 요소가 있는 배열을 받아서 x만큼 크기를 키우는 배열을 만들어라
- map, push를 쓸줄 아는가?
- Array(n).fill(x).map((v,i) => v * (i+1)