[22/03/29]프로그래머스 코딩 테스트 난이도⭐자릿수 더하기

Que Lin·2022년 3월 29일
0

문제 설명

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

제한사항
N의 범위 : 100,000,000 이하의 자연수

입출력 예
N	answer
123	6
987	24

입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

🛹 내가 푼 코드

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;


public class Solution {
    public int solution(int n) {
        int answer = 0;
        String str = Integer.toString(n);
        int[] arr = Stream.of(str.split("")).mapToInt(Integer::parseInt).toArray();
        for(int i=0; i<arr.length;i++){
            answer += arr[i]; 
        }
        return answer;
    }
}

제일 먼저 떠오른 것은 형변환을 해서 푸는 거였는데 다른 사람들의 코드를 보니 간단하게 풀 수 있는 문제였다. 그래도 배운 것은 String 을 간단하게 int배열로 바꿀 수 있는 방법!

int에서 String으로 변환 -> String에서 int[]로 변환

int n = 150;
String str = Integer.toString(n);
int[] arr = Stream.of(str.split("")).mapToInt(Integer::parseInt).toArray();

다른사람이 푼 코드

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        while(true){
            answer+=n%10;
            if(n<10)
                break;
            n=n/10;
        }
        return answer;
    }
}

break는 웬만하면 쓰지 말라고 선생님이 가르쳐 주셨으니 저거 빼고 생각해보면 되겠다! 참 쉬운 문제였군..

profile
1일 1커밋 1일 1벨로그!

0개의 댓글