아오 어려워 일단그냥 생각을 해볼 수 있는것에 감사하..는걸ㄹ로..
문자열을 숫자, 숫자를 문자열로 만들기 기억하기
- 빈 배열 하나 만들고
- 반복문으로 arr 돌리다가
- i랑 i + 1 되는 값이 다르면
- 그값을 빈 배열에 넣기.
❓ 빈배열 하나 안만들고 i === i ++ 해서 같은값만 삭제해도 괜찮은가..
function solution(arr) {
let result = "" //빈배열 arr
for (let i = 0; i < arr; i++){ //반복하며 돌다가
if (i !== i++) { //i랑 i + 1 되는 값이 다르면
result.push(arr[i])
}
}
>
console.log(result)
}
function solution(arr) {
let result = []; //빈배열 arr
for (let i = 0; i < arr.length; i++){ //반복하며 돌다가
if (arr[i] !== arr[i+1]) { //i랑 i + 1 되는 값이 다르면
result.push(arr[i])
}
}
return result
}
const arr = [1,2,3,4,5]
>
arr[arr.length -1 ]
arr.at(-1)//요새 나온 문법임
function solution(arr) {
const answer = arr.filter((el,i) =>{
console.log(el,i, arr[i+1])
return el !==arr[i+1]
})
return answer
}
//for 반복문
//빈배열 하나 만들고
//각 요소 하나씩 빼서
//빈배열에 하나씩 넣고
//더하기
function solution(n){
let result = 0;
for (let i = 0; i < n.length; i++ ){
result = i++
}
return result
}
1.
function solution(n){
n = String(n); //숫자 타입을 문자열 타입으로 바꾼다.
let answer = 0;
for (let i = 0; i < n.length; i ++){
console.log(i,n[i])
//answer가 숫자 0 이니까//문자열 타입을 숫자로 바꿔준다
answer += Number(n[i]) // answer = answer + n[i]
}
return answer
// console.log(n, n[0], typeof n)
}
2. reduce 메서드로 풀기
(split이용해서 문자열로 만드는거 복숩)
function solution(n){
const answer = String(n) //숫자타입을 문자열로 변환해서 저장
.split("") //문자열을 배열로 하나씩 쪼개서 저장
.reduce((acc, cur) =>{
console.log(acc, cur)
return Number(acc) + Number(cur)
},0)
return answer;
// console.log(answer)
}
1.
function solution(n) {
let answer = 0;
>
for (let i = 1; i<=n; i++){
//약수란 a숫자를 b로 나눴을 때 나누어 떨어지면 b는 a의 약수
//12를 3으로 나눴을 때 나누어 떨어지므로 3은 12의 약수
//나머지값이 0 일경우 약수래요
if (n % i === 0){
answer = answer + i; //answer +=i
}
}
return answer
}
2. 초기값을 자기자신으로 설정하기.
function solution(n) {
let answer = n;//자기자신을 최솟값으로 넣음
for (let i = 1; i<=n / 2; i++){
//약수란 a숫자를 b로 나눴을 때 나누어 떨어지면 b는 a의 약수
//12를 3으로 나눴을 때 나누어 떨어지므로 3은 12의 약수
//나머지값이 0 일경우 약수래요
if (n % i === 0){
answer = answer + i; //answer +=i
}
}
return answer
}
3. 연산된 결과를 가져오는 reduce 메서드
리듀스 사용하려면 배열이 필요함.
요거를 삼항 연상자 써서 리팩토링