자릿수 더하기
문제 설명
자연수 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 하면 됩니다.
나의 문제풀이
public class Solution {
public int solution(int n) {
int answer = 0;
String[] num = String.valueOf(n).split("");
for (int i = 0; i < num.length; i++) {
answer += Integer.parseInt(num[i]);
}
return answer;
}
}
- String.valueOf()를 이용해서 정수를 문자열로 만들고 split()을 이용해 한 자리씩 나누어서 String배열에 넣어준다.
- 배열의 크기만큼 반복하여 배열의 수를 꺼내 정수형으로 변환하여 더해준다.
형변환 함수들을 통해서 손 쉽게 풀 수 있었다. 수를 받아 변환할 때는 수식으로 하지 못 할 작업은 대부분 문자열로 만들어서 작업을 하면 변환이 가능해 보인다.
문자열로 변환하는 함수 : String.valueOf
숫자로 변환하는 함수 : Integer.parseInt, Long.parseLong 등은 눈에 익혀두면 알고리즘 문제 외에도 자주 사용할 것 같다.
문제 출처 - https://school.programmers.co.kr/learn/courses/30/lessons/12931
'생각정리 > 코딩테스트' 카테고리의 다른 글
[JAVA][Level1]PROGRAMMERS 자연수 뒤집어 배열로 만들기 (0) | 2023.08.18 |
---|---|
[JAVA][Level1]PROGRAMMERS x만큼 간격이 있는 n개의 숫자 (0) | 2023.08.18 |
[JAVA 알고리즘]BAEKJOON 11279번 최대 힙 (0) | 2023.08.17 |
[JAVA 알고리즘]BAEKJOON 4949번 균형잡힌 세상 (0) | 2023.08.05 |
[JAVA 알고리즘]BAEKJOON 9012번 괄호 (0) | 2023.08.01 |