- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 로그인
- 컴퓨터공학과
- sql
- 공유대학
- Firebase
- 정렬
- 자바
- 동적할당
- 프로그래밍 입문
- 백준
- 배열
- android studio
- 알고리즘
- 코딩테스트
- 연결리스트
- oauth
- Java
- 파이썬
- 구글 로그인
- 프로그래머스
- 자료구조
- til
- 비주얼 베이직
- C++
- 안드로이드 스튜디오
- python
- C언어
- 안드로이드
- firebase google
Archives
코딩하는 해달이
[level 1] 자릿수 더하기 본문
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
- N의 범위 : 100,000,000 이하의 자연수
문제 이해
입력받은 수 n의 각 자릿수의 합을 구해야한다.
우선 두가지 방법이 생각났는데, 한가지 방법은 이전의 하샤드 수에서 사용한 자릿수 별로 나누어서 더하는방법이고, 다른 방법은 string으로 형변환을 시켜서 각 자리를 더하는 것인데, 하샤드 수에서 사용한 방법을 이용하려면 n의 범위인 1억부터 나누어야하기에 이번엔 string으로 형변환 시켜서 해보기로했다.
알고리즘
1. 정수 n을 입력받는다.
2. n을 문자열로 변환하여 num에 대입한다.
3. 문자열을 순회하며 answer에 더한다.
**주의**문자열을 인덱스로 접근하면 char형으로 취급하기때문에 ASCII코드표를 참고해서 더하자.
풀이 코드
#include <iostream>
#include <string>
using namespace std;
int solution(int n)
{
string num = to_string(n);
int answer = 0;
for (int i = 0; i < num.length(); i++) {
answer += num[i] - 48;
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/12931
반응형
'개인 공부 > 프로그래머스' 카테고리의 다른 글
[level 1] 약수의 합 (0) | 2022.07.20 |
---|---|
[level 1] 이상한 문자 만들기 (0) | 2022.07.20 |
[level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.07.20 |
[level 1] 정수 내림차순으로 배치하기 (0) | 2022.07.20 |
[level 1] 정수 제곱근 판별 (0) | 2022.07.20 |
Comments