[프로그래머스-자바스크립트] 9로 나눈 나머지

차슈·2024년 5월 30일
0

프로그래머스

목록 보기
56/64
post-thumbnail

문제

음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.


입출력 예시

number result
"123" 6
"78720646226947352489" 2

풀이

function solution(number) {
  var answer = 0;
  for (let i = 0; i < number.length; i++) {
    answer += parseInt(number.substring(i, i + 1));
  }
  return answer % 9;
}

주어진 number 문자열의 각 문자에 대한 반복문을 실행했다.
number 문자열에서 인덱스 i부터 i+1까지의 부분 문자열 반환한다. 그러면 한글자의 문자열이 됨!
parserInt를 써서 정수로 변환했고,
변환된 정수를 answer 변수에 더하고 answer를 9로 나눈 나머지값을 반환한다.

예를 들면,
number가 "1234"라면:

i = 0일 때: number.substring(0, 1)"1"이 되고, parseInt("1")은 1이 된다.. answer는 0 + 1 = 1
i = 1일 때: number.substring(1, 2)"2"이 되고, parseInt("2")은 2가 된다. answer는 1 + 2 = 3
i = 2일 때: number.substring(2, 3)"3"이 되고, parseInt("3")은 3이 됩다. answer는 3 + 3 = 6
i = 3일 때: number.substring(3, 4)"4"가 되고, parseInt("4")은 4가 됩다. answer는 6 + 4 = 10
마지막으로, answer % 9을 반환하므로 10 % 9 = 1

먼저 이런 예시를 머리에 그려놓고 코드를 짜면 조금 더 쉽게 짤 수 있다!

0개의 댓글