반응형
문제
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
- 제한사항
- N의 범위 : 100,000,000 이하의 자연수
풀이
문제 그대로 자연수의 각 자리수를 더하여 결과로 리턴하는 문제입니다. 간단한 문제로 두가지 방법으로 풀어보았습니다. 어렵지 않은 문제기 때문에 설명할 부분도 별로 없는 듯 합니다.
1. 각 자릿수를 나눗셈을 이용하여 구분하기
모듈러 연산자를 이용하여 각 자릿수를 구해 더하는 방법입니다.
public int solution(int n) {
int input = n;
int answer = 0;
while(input > 0) {
answer += (input % 10);
input /= 10;
}
return answer;
}
2. String으로 변환하여 각 자릿수를 구해내는 방법
입력받은 값을 String으로 변환한 후 각 자릿수의 숫자를 더하는 방법입니다.
public int solution(int n) {
String input = Integer.toString(n);
char[] chars = input.toCharArray();
int answer = 0;
for(char ch: chars) {
answer += (ch - '0');
}
return answer;
}
결과
더보기


방식1

방식2

반응형
'소프트웨어 스터디 > 알고리즘문제풀이' 카테고리의 다른 글
[프로그래머스] L3 입국심사 (0) | 2021.01.08 |
---|---|
[프로그래머스] L2 위장 (0) | 2021.01.06 |
[프로그래머스] L1 내적 (0) | 2021.01.06 |
[프로그래머스] L2 이진 변환 반복하기 (0) | 2021.01.05 |