[프로그래머스] 자릿수 더하기

김소은·2024년 6월 7일

알고리즘

목록 보기
11/55
post-thumbnail

프로그래머스의 Lv.1 자릿수 더하기 문제 풀이

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.

제한 사항

  • N의 범위 : 100,000,000 이하의 자연수

문제 풀이
이 문제는 일단 문자열로 변환해서 푸는 방식과 나눗셈으로 푸는 방식이 있다고 하는데 나는 문자열로 변환해서 푸는 것이 먼저 떠올라서 이렇게 풀었다.
1. 일단 문자열로 변환해서 푸는 방식은 주어진 자연수 n을 문자열로 변환하여 문자열을 순회하며 자릿수를 더하는 방식으로 풀었다.
2. 나눗셈으로 푸는 방식은 문자열보다 간단하긴 했다. 10으로 나눈 나머지를 answer에 더해주고 n이 0보다 크지 않을 때까지 10을 나눔으로서 자릿수를 없애는 방식이다.

코드

1.
  public int solution(int n) {
   int answer = 0;

   String str = Integer.toString(n);

   for (int i = 0; i < str.length(); i++) {
     answer += Integer.parseInt(str.substring(i, i + 1));
   }

   return answer;
 }
 
 2. 
  public int solution(int n) {
       int answer = 0;
       
       while(n > 0){
           answer += n%10;
           n/=10;
       }
       return answer;
   }
profile
차근차근 잘 해보자!

0개의 댓글