자릿수 더하기

hanul kim·2022년 4월 9일
0

2022 CodingTest

목록 보기
10/29

0408

문제 설명

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

제한 조건

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

입출력 예

nreturn
1236
98724

기본 코드

import java.util.*;

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

        // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
        System.out.println("Hello Java");

        return answer;
    }
}

정답 코드

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        String num = String.valueOf(n);
        String [] arr = num.split("(?<=.)");

        for(int i=0; i<arr.length; i++){
        	answer += Integer.parseInt(arr[i]);
        }
        return answer;
    }
}

문제 풀이

입력받은 n을 문자열로 바꿔준다음, num.split(?<=)이라는 함수로 자릿수를 나누어 배열에 넣어주었다. for문 안에 문자열을 정수형으로 바꿔주는 함수를 써서 answer에 값을 더해지도록했다.

"(?<=.)" → 조금 더 공부할 필요가 있어보인다

profile
학교 계정

6개의 댓글

comment-user-thumbnail
2022년 4월 10일

split으로 나누고 배열에 저장한 다음에 더하는 것도 좋은 방법이네요!

답글 달기
comment-user-thumbnail
2022년 4월 10일

split함수가 인상적이네요! 다음에도 좋은 코드 부탁드립니다

답글 달기
comment-user-thumbnail
2022년 4월 10일

새로운 함수 배워갑니다! 감사합니다!

답글 달기
comment-user-thumbnail
2022년 4월 10일

split로 자릿수를 나누는 방법 좋아요!

답글 달기
comment-user-thumbnail
2022년 4월 10일

split함수를 사용해서 푸는 거 신기해요!

답글 달기
comment-user-thumbnail
2022년 4월 10일

num.split("(?<=.)") 이 부분 정규식인가요? 보통 split에 넣는 변수들은 기준이 될 문자를 넣는 걸로 아는데 처음봐서 신기하네요

답글 달기