차곡차곡

자바스크립트 활용 6 본문

자바스크립트/활용

자바스크립트 활용 6

whatd0udo 2024. 2. 24. 21:45

문제46 : 각 자리수의 합 2

1부터 20까지의(20을 포함) 모든 숫자를 일렬로 놓고 모든 자릿수의 총 합을 구하세요.

예를 들어 10부터 15까지의 모든 숫자를 일렬로 놓으면 101112131415이고 각 자리의 숫자를 더하면 21입니다. (1+0+1+1+1+2+1+3+1+4+1+5 = 21)

 

function sumOfDigitsFrom1To20() {
  let sum = 0; // 1단계: 합계를 저장할 변수 초기화
  let numbersString = ''; // 숫자들을 연결할 빈 문자열 초기화

  for (let i = 1; i <= 20; i++) { // 2단계: 1부터 20까지 순회
    numbersString += i.toString(); // 각 숫자를 문자열로 변환하여 연결
  }

  for (let digit of numbersString) { // 3단계: 만들어진 문자열의 각 문자 순회
    sum += parseInt(digit); // 4단계: 문자를 숫자로 변환하여 합계에 더함
  }

  return sum; // 5단계: 최종 합계 반환
}

console.log(sumOfDigitsFrom1To20()); // 함수 호출 및 결과 출력

 

문제에 사용된 자바스크립트 개념

 

1. 반복문

1부터 20까지 숫자를 순회하기 위해 반복문 사용

각 숫자를 일렬로 나열하고 나열된 각 숫자의 자리수를 더하는 과정에 필수적임

for 루프가 이 경우에 가장 일반적으로 사용됨

 

2. 문자열 처리

숫자를 일렬로 나열하기 위해 숫자를 문자열로 변환하고 , 이 문자열들을 연결

자바스크립트에서는 숫자를 문자열로 변환하기 위해 toString() 메서드나 문자열 연결 연산자 + 사용가능

 

3. 배열처리 ( 선택적)

각 숫자를 문자열로 변환 후 , 이 문자열들을 배열에 저장하고 배열을 순회함

이 경우, 각 자리수를 개별적으로 접근하기 위해 문자열을 배열로 변환할 수 있는 split() 메서드를 사용함

 

4. 형 변환

문자열의 각 문자 ( 숫자의 각 자리수)를 숫자로 다시 변환하여 합계를 구하기 위해 pareseInt() 또는 단항 + 연산자 사용

 

5. 누적합계

각 자리수를 숫자로 변환 후 이를 누적하여 합계를 구함 이 과정에서 변수를 사용하여 누적 합계 관리

'자바스크립트 > 활용' 카테고리의 다른 글

자바스크립트 활용8  (0) 2024.02.25
자바스크립트 활용 7  (0) 2024.02.25
자바스크립트 활용5  (1) 2024.02.24
자바스크립트 활용 4  (1) 2024.02.24
자바스크립트 활용3  (0) 2024.02.22