각 자릿수의 수를 더한 값을 반환

 

# 나의 풀이

function solution(n)
{   
    let answer = 0;
    while(n >= 10){
        answer += n % 10;
        n = parseInt(n / 10);
    }
    answer += n;

    return answer;
}
  • 반환해줄 변수 answer를 0으로 초기화
  • 주어진 정수(n)가 10이상일 경우, while문 안에서 정수를 10으로 나눈 나머지를 반환해줄 answer 변수에 반복적으로 더하도록 선언
  • while 루프가 한번씩 진행될 때마다 변수 n의 값을 기존의 변수 n값을 10으로 나눈 몫으로 할당
  • 이후 answer변수 반환

주어진 배열에서 연속된 숫자를 제외한 배열 반환

배열 내 요소의 순서는 기존 배열 요소의 순서를 따라야 한다.
ex) [1,1,1,0,0,3,3,1,1,] => [1, 0, 3, 1]

# 다른 풀이

function solution(arr)
{
    var answer = [];
    for (let i = 0; i < arr.length; i++){
        if(arr[i] !== arr[i + 1]){
        	answer.push(arr[i])
        }
    }
    return answer;
}
  • 반환해줄 변수 answer에 빈 배열을 할당
  • 주어진 배열 arr을 for문을 통해 순회하며 if 조건문을 통해 현재 참조중인 배열의 요소가 다음 요소와 같지 않다면 answer에 해당 요소 추가
  • for문이 끝난 후 answer 배열 반환 

 

'코딩테스트 > Javascript' 카테고리의 다른 글

콜라츠 추측  (0) 2021.06.25
완주하지 못한 선수 (해시)  (0) 2021.06.11
최대공약수와 최소공배수  (0) 2021.03.08
정수 내림차순으로 배치하기  (0) 2021.01.31
자릿수 더하기  (0) 2021.01.24

+ Recent posts