https://programmers.co.kr/learn/courses/30/lessons/12931
코딩테스트 연습 - 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출
programmers.co.kr
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 사항
N의 범위 : 100,000,000 이하의 자연수
01. 나의 풀이 코드
public int solution(int n) {
int answer = 0;
int sum = 0;
String str = Integer.toString(n);
int length = str.length();
String[] arr = new String[length];
arr = str.split("");
for(int i = 0; i < arr.length; i++) {
sum += Integer.parseInt(str.substring(i, i + 1));
answer = sum;
}
return answer;
}
- 효율적이지 못한 코드긴 하지만 일단 내가 풀었다는거에 의의를...
- charAt() 을 사용해보고 싶었는데 파싱하는 부분을 확인해봐야 할 듯 싶다.
02. 내 머리 속에서 그러졌던 걸 구현한 다른 분의 풀이
public int solution(int n) {
int answer = 0;
String num = String.valueOf(n);
for(int i = 0 ; i < num.length() ; i ++){
answer += Integer.parseInt(String.valueOf(num.charAt(i)));
}
return answer;
}
[공부한 내용]
(출처 : 자바의 정석)
- 객체지향 언어인 자바에서 char배열과 그에 관련된 기능들을 함께 묶어서 클래스에 정의한다.
- String객체(문자열)은 읽을 수만 있고, 변경할 수 없다.
- 변경하려고 하면 새로운 문자열을 생성한다.
(변경 가능한 문자열은 => StringBuffer 클래스를 이용)
charAt(int index) | 문자열에서 해당 위치(index)에 있는 한 문자를 반환 배열과 마찬가지로 charAt()의 index 값은 0부터 시작한다. |
char[] toCharArray() | 문자열을 문자배열로 변환해서 반환 |
'Study > Code Review' 카테고리의 다른 글
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2022.02.13 |
---|---|
[프로그래머스] 문자열 다루기 (0) | 2022.02.06 |
[프로그래머스] 콜라츠 추측(자바) (0) | 2022.01.16 |
DAY 92. JavaScript 배열 연습 문제 - 배열에 추가, 삭제 (0) | 2021.11.18 |
DAY 91. JavaScript 배열 연습 문제 - 입력 받은 문자열로 배열 만들기 (0) | 2021.11.17 |