본문 바로가기

Algorithm/논리적사고(Logical Think)8

[ 논리적사고 ] - 자연수의 자릿수 합 구하기 📍 자연수의 자릿수 합 구하기 while문을 사용하여 x 변수 사용시 x의 원래 값이 바뀌지 않게 하기위해 임시변수 temp = x를 선언한다. let arr = [128, 460, 603, 40, 521, 137, 999]; for (let x of arr){ let sum = 0; let temp = x; while(x){ sum += x % 10; x = Math.floor(x / 10); } console.log(sum) 👉🏽 11 10 9 4 8 11 27 } 2021. 8. 20.
[ 논리적사고 ] - number 함수를 사용하지 않고 순서 유지한 채로 number 만들기 📍 number 함수를 사용하지 않고 값 누적하기 for문을 돌고나서 i값이 각각 0, 0, 2, 0, 8일때 이것의 순서를 유지한 상태로 모두 합쳐 자연수로 바꾸면 208이 될 것이다. 이때 parseInt, number 함수를 사용하지 않고 답안과 같이 구현 할 때는 다음과 같은 방법으로 생각하자. let s = "00208"; let answer = 0; for (let x of s){ answer = answer*10 + (+x); } console.log(answer); 👉🏽 208 2021. 8. 20.
[ 논리적사고 ] - number 타입의 값을 `method` 없이 배열에 거꾸로 넣기 📍 number 타입 값을 `method` 없이 배열에 거꾸로 넣기 number의 값을 거꾸로 집어 넣을 때 reverse 함수를 사용하여 넘길 수도 있지만, 숫자의 특성을 이용해서 넣을 수도 있다. // 문자열 let number = 12345; let reverseArr = (""+number).split('').reverse().map((item) => +item); // 숫자 let number = 12345; let arr = []; do { arr.push(number%10); number = Math.floor(number/10); } while(number > 0); 👉🏽 [5, 4, 3, 2, 1] // 결과는 동일 2021. 8. 20.