문자열 정수의 합

nacSeo (낙서)·2024년 3월 7일
0

프로그래머스

목록 보기
117/169

문제 설명

한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.

제한사항

3 ≤ num_str ≤ 100

나의 코드

class Solution {
    public int solution(String num_str) {
        int answer = 0;
        for(int i=0; i<num_str.length(); i++) {
            answer += num_str.charAt(i)-'0';
        }
        return answer;
    }
}

다른 사람 코드

class Solution {
    public int solution(String num_str) {
        int answer = 0;
        String[] numArr= num_str.split("");
        for (String num : numArr){
            answer+=Integer.parseInt(num);
        }
        return answer;
    }
}

String 배열로 변환하여 각각 잘라내어 Integer.parseInt()메소드 사용

느낀 점

String타입의 num_str에서 charAt()메소드를 사용하면 숫자가 아닌 문자로 나오기 때문에 아스키코드 값을 이용하여 숫자로 변환해줘야 한다. 아스키코드 '0'의 값은 48, '1'은 49, '2'는 50 ⋯ 이기 때문에 '0'을 빼주면 숫자 값과 동일하게 계산됨을 이용하여 풀었다. 이 외에도 Integer.parseInt()를 사용하는 방법도 존재한다.

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글