Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Math.min
- 짝수
- toLowerCase
- 배열
- Java
- 문자열
- substring
- 코딩테스트
- oracle
- 프로그래머스
- 1레벨
- 1lv
- programmers
- 자바
- 코테
- 참조형
- 1단계
- 디비
- 프로시저
- 1level
- SQL
- Linux
- Integer
- StringBuffer
- 오라클
- string
- Math.max
- 알고리즘
- PARSEINT
- 데이터베이스
Archives
- Today
- Total
웹 프로그래밍
[프로그래머스(Programmers)] 자릿수 더하기 - JAVA 본문
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return하는 solution 함수를 만들어 주세요.
예를 들어 N = 123 이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 사항
N | answer |
123 | 6 |
987 | 24 |
입출력 예 설명
입출력 예 #1
문제의 예시와 같습니다.
입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.
풀이
1) 타입 변환을 이용하여 n을 문자열로 변환, 자릿수를 더하기 위해 배열로 반환하는 방법.
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String str = Integer.toString(n); // 숫자형태의 n을 문자열로 타입 변환
String[] arr = str.split(""); // split()을 사용하여 문자열을 배열로 반환
for(int i = 0; i < arr.length; i++) {
answer += Integer.parseInt(arr[i]); // 타입 변환하여 자릿수의 합을 asnwer 저장
}
return answer;
}
}
2) 타입변화 없이 자릿수의 합을 answer에 담는 방법.
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
while(n > 0) {
answer += n % 10; // 자릿수의 합을 위한 로직
if(n < 10) {
break;
}
n /= 10;
}
return answer;
}
}
1 vs 2
속도 : 1 < 2
메모리 사용 : 1 > 2
'프로그래머스 > level1' 카테고리의 다른 글
[프로그래머스(Programmers)] 문자열 내 마음대로 정렬하기 - JAVA (0) | 2021.11.16 |
---|---|
[프로그래머스(Programmers)] 정수 내림차순으로 배치하기 - JAVA (0) | 2021.11.11 |
[프로그래머스(Programmers)] 이상한 문자 만들기 - JAVA (0) | 2021.11.07 |
[프로그래머스(Programmers)] 자연수 뒤집어 배열로 만들기 - JAVA (0) | 2021.11.04 |
[프로그래머스(Programmers)] 문자열 내 p와 y의 개수 - JAVA (0) | 2021.11.03 |