코딩테스트/Javascript

프로그래머스 스킬체크 레벨 1

JWOOKJ 2021. 5. 13. 09:53

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

 

# 나의 풀이

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 배열 반환