정수 N이 주어지면 이 숫자의 모든 자릿수의 합을 구하는 프로그램을 작성한다.
입력 예시
첫째 줄에 정수 N이 주어진다.
출력 예시
자릿수의 합을 "Sum of digits: 값" 형식으로 출력한다.
예제 테스트케이스
예제 1
입력 예시
출력 예시
123
Sum of digits: 6
예제 2
입력 예시
출력 예시
9876
Sum of digits: 30
코드
N = input()
total = 0
for digit in N:
total += int(digit)
print(f"Sum of digits: {total}")
1. 코드 동작 설명
- 정수 N을 문자열로 입력받는다.
- 각 자릿수를 하나씩 순회한다.
- 각 문자를 정수로 변환하여 누적합에 더한다.
- 모든 자릿수의 합을 계산한 뒤 출력한다.
2. 문법 설명
input()
N = input()
- 문자열을 입력받는 함수
- 사용 형태:
input()
반복문 (for)
for digit in N:
- 문자열의 각 문자를 하나씩 순회
- 사용 형태:
for 변수 in iterable:
int()
int(digit)
- 문자열을 정수로 변환하는 함수
- 사용 형태:
int(문자열)
누적합 (+=)
total += int(digit)
- 기존 값에 새로운 값을 더하여 저장
- 사용 형태:
변수 += 값
출력 (f-string)
print(f"Sum of digits: {total}")
- 문자열 내부에 값을 삽입하여 출력
- 사용 형태:
print(f"문자열 {변수}")
3. 실수 포인트 (핵심만)
입력을 int로 받고 반복하는 경우
N = int(input())
for digit in N:
- 정수는 반복 불가능 → TypeError 발생
문자 그대로 더하는 경우
total += digit
- 문자열끼리 더해져 잘못된 결과 발생
출력 형식 오류
Sum of digit: 6
Sum: 6
- 문자열이 정확히 일치하지 않으면 오답
4. 핵심 정리
- 숫자를 문자열로 처리하여 각 자릿수를 분리한다.
- 각 자릿수를 정수로 변환하여 누적합을 계산한다.
'Univ > Python Programming' 카테고리의 다른 글
| Python `sort()`와 `sorted()`의 차이 (0) | 2026.04.15 |
|---|---|
| [문제 11] 배열에서 두 수의 곱 출력하기 - Python 풀이 (0) | 2026.04.15 |
| [문제 09] 배열에서 중복 제거하기 - Python 풀이 (0) | 2026.04.15 |
| [문제 08]숫자의 합 구하기 - Python 풀이 (0) | 2026.04.15 |
| [문제 07] 배열에서 최대값과 최소값 찾기 - Python 풀이 (0) | 2026.04.15 |