반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- beautifulsoup
- javascript
- AWS
- typescript
- malloc
- pintos
- SW사관학교정글
- 이분탐색
- 이진트리
- sw사관학교 정글
- branch
- 개발일지
- 우선순위큐
- BOJ
- 파이썬
- react
- BFS
- 웹스크래핑
- c언어
- 행렬제곱
- 클린코드
- Git
- 정글
- 힙
- 구조체포인터
- 포인터
- 분할정복
- 이진탐색트리
- 백준
- DFS
Archives
- Today
- Total
대범하게
[Programmers] Level1 자릿수 더하기 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12931
* 문제 설명
프로그래머스 Level1 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return하는 solution 함수를 만들라
예를 들어 N = 123이면 1+2+3=6 을 return 하면 된다.
* 입출력 예
N | answer |
123 | 6 |
987 | 24 |
* 소스코드1
1. 숫자를 쪼개기 힘들기 때문에 문자열로 변환
숫자를 문자로 변환은 생각보다 간단하다........!
new String으로 선언한 후, 파라미터로 입력받은 n과 텅 빈 값("")을 붙이면(+) 된다.
(long n = 12345 이었으면, String str = 12345; 문자열이 된다.)
2. 문자열을 쪼개서 배열로 저장
strArr라는 배열을 선언한 후, str 문자열을 split()을 이용해 쪼개어 배열에 넣는다.
split() 메소드는 String에서만 사용되고, 마침표나 슬래쉬 등 기호를 기준으로 값을 쪼갤 수 다.
이 문제에서는 모든 글자를 쪼개기 때문에 split("")을 사용한다.
3. 문자열 배열을 숫자로 바꿔준다.
리턴할 배열 answer의 데이터 타입이 int인데 arr는 String 배열이기에 Integer.parseInt()을 통해 형변환해준다.
혹은 Integer.valueOf을 통해 형변환을 해준다.
4. 각 자릿수를 합하기 때문에 for문에서 +=를 사용해 누적해서 더해준다.
public class Solution {
public int solution(int n) {
int answer = 0;
String str = n +""; // 숫자 n을 문자열 str로 바꾸기
String[] arr = str.split(""); // 문자열 내 글자 모두 나누기
for(int i = 0; i<arr.length; i++){
answer += Integer.valueOf(arr[i]); // 문자열 배열을 숫자로 바꾸기
}
return answer;
}
// 하나도 안 찾아보고 내 힘으로 해결한 코드 ㅠ 조금씩 발전 중..!
}
// 123
//6
//987
//24
'Problem Solving > Algorithm Concepts' 카테고리의 다른 글
[Programmers] Level1 직사각형 별찍기 (0) | 2022.08.03 |
---|---|
[Programmers] Level1 문자열 내 p와 y의 개수 (0) | 2022.08.02 |
[Programmers] Level1 자연수 뒤집어 배열로 만들기 (0) | 2022.08.01 |
프로그래머스 Level 1 모음 (0) | 2022.08.01 |
[Java Algorithm] 1-4 단어 뒤집기(StringBuilder 이용법 또는 직접 뒤집기) (0) | 2022.07.27 |
Comments