2023. 11. 16. 00:53ㆍ카테고리 없음
function solution(num) {
var answer = '';
if(num%2===0){
return 'Even'
}else{
return 'Odd'
};
}
정수가 짝수일 경우 이븐을 반환 하고 홀수 일 경우 오드를 반환한다.
짝수는 2로 나눈 나머지가 0이므로 이프문을통해 트루값을 갖으면 이븐이 되게한다.
function solution(num) {
var answer = '';
(num%2===0)? return 'Even' : return 'Odd'
삼항 연산자를 이용하면 더 간결하다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(arr) {
var answer = 0;
let sum =0;
for(let i in arr){
sum+=arr[i]
};
return sum/arr.length
}
주어진 배열안에 요소들의 평균값을 구하는 예제이다.
포문 바깥에 재할당 가능한 렛으로 썸을 0으로 할당해놓는다.
포인문을통해 배열안 모든 요소를 더한후 배열의 길이만큼으로 나누어
평균값을 구한다.
function average(array){
return array.reduce((a,b) => a+b) / array.length;
}
다른사람의 풀이 a는 축적된 값 b는 요소의 새로운 값이다. a와 b를 더한게 새로운 a가 되어서 그합을
길이로 나눈다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n)
{
var answer = 0;
const newN = String(n);
let sum = 0;
for(let i =0 ; i < newN.length ; i++){
sum += Number(newN[i])
}
return sum;
}
숫자의 각자릿수들의 합을 구하는 문제
주어지는게 넘버이므로 스트링화 그것을 뉴엔에 할당 한다. sum을 렛으로 선언하고
뉴엔이라는 스트링의 길이만큼 포문을 돌려서 해당스트링의 각자리에 해당하는 요소를
숫자화해서 sum에 계속 더해준다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n) {
var answer = 0;
let sum=0;
for (let i=1 ; i<=n ; i++){
if(n%i === 0){
sum+=i
}
}
return sum;
}
n의 약수들의 합을 구하는 문제
약수들은 해당숫자를 나눴을때 나머지가 0이다.
1부터 n까지 포문을 돌린다. 그 숫자들이 n을 나눴을때 나머지가 0이면 약수이므로
sum에 더해준다. sum은 약수들의 합이된다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n) {
var answer = 0;
let h = 0;
for(let i=0 ; i<n ; i++){
if(n%i===1){
h = i
return h;
}
}
}
n을 x로 나눈 나머지가 1이 되도록하는 가장 작은 자연수 구하기
포문을 0부터 n미만까지 돌린다. n을 i로 나눴을 때 1이 되는거조건문이
트루이면 그때의 i를 리턴 작은수부터 포문이 돌고 리턴을 받는순간
포문이 멈추므로 가장 작은수 이다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(x, n) {
var answer = [];
for(let i=1; i <= n ; i++){
answer.push( x*i)
}
return answer;
}
정수 x부터 시작해서 x씩 증가하는 n개의 숫자의 배열구하기
앤써를 빈객체로 var로 선언 포문은 1부터 n까지 돌게 설정
x에 1부터 n까지 차례대로 곱한것을 빈 앤써 배열에 넣어주면 완성
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n) {
var answer = [];
let N = String(n)
for(let i = 0 ; i<N.length ; i++){
answer.unshift(+N[i])
};
return answer;
}
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태 만들기
일단 n을 문자화 시키기고 빈배열에 그 문자열을 첫번째 요소부터 차례대로
언쒸프트 매써드를 통해 앞쪽으로 채워 나간다. N앞에 플러스는 문자열이니까
넣어주면서 넘버화 시킨것
return n.toString().split('').reverse().map(o => o = parseInt(o))
이렇게 하면 너무 깔끔함 n을 투스트링으로 문자화 스플릿으로 문자열을 한글자씩 쪼갠 배열을 만들어서
리버스로 거꾸로 배열을 만들고 그걸 다시 맵함수로 하나하나 정수화시킴
캬~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(s) {
var answer = 0;
return +s;
}
문자열s를 숫자로 변환한 한것을 리턴
걍 s앞 에 플러스 붙이면 숫자화 한다. 문자는 숫자와 의 사칙연산은 숫자가 되기때문?
저걸그냥 s/1한 사람있음 초 깔끔
Number(s) , parseInt(s)해도 될듯
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n) {
var answer = 0;
for(let i=0 ; i<=n ; i++){
if (n===i**2){
answer=(i+1)**2
break;
}
if(i===n){
answer= -1}
}
return answer;
}
정수n 어떤 양수 x의 제곱이면 x+1의 제곱을 반환하고 아니면 -1반환
포문을 0부터 n까지 돌림 1부터 돌려도 됐을텐데
조건문에서 n이 i의 제곱과 같다면 i+1의 제곱을 리턴 근데 저식은 브레이크를 걸어줌
그냥 브레이크 대신 저기서 바로 앤서 리턴했어도 됐을텐데
i가 n과 같아질때까지 포문이 돌았다는것을 못찾았다는 거니까 -1을 리턴하게 했다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function solution(n) {
var answer = 0;
let arr = String(n).split('').sort((a,b)=>b-a)
console.log(arr)
answer = Number(arr.join(''));
return answer;
}
정수 n의 각자릿수를 큰수부터 작은순으로 정렬한 새로운 정수 만들기
정수 n을 스트링을 통해 문자열 만들고 각자리수로 쪼갠 배열을 스플릿을 통해 만들고
그것을 sort함수를 통해 큰수부터 배열 그것을 arr에 할당하고
할당한 arr의 각요소를 다 합친 문자로 만들기 위해 조인을 사용하고 그것을 넘버링화한다.
sort((a,b)=>b-a)를 sort().reverse() 하는게 더 이쁠듯
여기서 새로운 거 배웠는데 n+''이게 n을 문자열로 바꾸는 거란다 신기