Programmers | 코딩테스트 입문 - 자릿수 더하기(자바,파이썬)

2022. 12. 28. 15:00공부/Programmers

프로그래머스 Lv.0 자릿수 더하기

 

문제 설명

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요


제한사항
  • 0 ≤ n ≤ 1,000,000

 

JAVA

class Solution {
    public int solution(int n) {
        int answer = 0;
        String numStr = String.valueOf(n);
        
        for(int i=0; i<numStr.length(); i++){
            answer += numStr.charAt(i) - '0';   //char -> int 변환
        }
        return answer;
    }
}

 

char -> int 형변환 시, '0'(아스키코드:48) 활용하기

 

다른 사람 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;

        while(n>0){
            answer+=n%10;
            n/=10;
        }

        return answer;
    }
}

 

Python3

def solution(n):
    answer = 0
    for i in str(n):
        answer += (ord(i) - ord('0'))
    return answer

int -> String 변환 시, str()를 사용한다.

ex) str(123) -> "123"(문자열) 반환

 

int -> char 변환 시, chr()를 사용한다. 

ex) char(97) -> 'a' 반환

 

char -> int 변환 시, ord()를 사용한다.

ex) ord('a') -> '97' 반환

 

다른 사람 풀이

def solution(n):
    answer = 0
    while n:
        answer += n%10
        n //= 10
    return answer