1. 문제 목적
이 문제의 목적은 문자열 내의 각 문자(숫자)를 정수로 변환하고, 이들을 합하여 결과를 출력하는 과정에서 문자열 처리와 반복문 사용법을 익히는 데 있습니다.
2. 핵심 개념
- 문자열: 문자의 연속으로, 파이썬에서는 문자열을 큰따옴표(" ") 또는 작은따옴표(' ')로 묶어 표현합니다.
- 정수 변환: 문자열 내의 숫자 문자를 실제 정수 값으로 변환하기 위해 int() 함수를 사용합니다.
- for 문: 하나씩 문자를 순회하며 각 문자를 정수로 변환하고 누적합을 구하기 위해 사용됩니다.
3. 문제 해결 절차
- 사용자로부터 숫자의 개수를 입력받습니다(이 과정은 주어진 문제에서 중요하지 않으므로 생략할 수 있습니다).
- 숫자로 이루어진 문자열을 입력받습니다.
- 문자열의 각 문자를 순회하며 각각을 정수로 변환합니다.
- 변환된 정수들의 합을 계산합니다.
- 계산된 합을 출력합니다.
4. 코드 작성
input() # 첫 번째 입력(숫자의 개수)은 사용하지 않으므로 생략
numbers = input() # 숫자로 이루어진 문자열 입력
print(sum(int(num) for num in numbers)) # 각 숫자를 정수로 변환하여 합계를 계산하고 출력
- input(): 사용자로부터 입력을 받지만, 이 값을 사용하지 않으므로 변수에 저장하지 않습니다.
- numbers = input(): 사용자로부터 숫자로 이루어진 문자열을 입력받습니다.
- sum(int(num) for num in numbers): 리스트 컴프리헨션을 사용해 문자열의 각 문자를 정수로 변환하고, sum() 함수를 사용해 이들의 합을 계산합니다. 이 과정은 한 줄로 간결하게 수행됩니다.
n = int(input("숫자의 개수를 입력하세요: ")) # 숫자의 개수 입력
numbers = input("숫자를 연속해서 입력하세요: ") # 숫자로 이루어진 문자열 입력
total = 0 # 합계를 저장할 변수 초기화
for num in numbers: # 문자열의 각 문자에 대해
total += int(num) # 문자를 정수로 변환하고 total에 더함
print("숫자들의 합:", total) # 계산된 합 출력
- n = int(input("숫자의 개수를 입력하세요: ")): 사용자에게 숫자의 개수를 입력받습니다. 이 값은 이 문제에서 실질적으로 사용되지 않지만, 문제의 요구사항을 충족시키기 위해 포함됩니다.
- numbers = input("숫자를 연속해서 입력하세요: "): 사용자로부터 숫자로 이루어진 문자열을 입력받습니다.
- total = 0: 합계를 저장할 변수를 0으로 초기화합니다.
- for num in numbers: 입력받은 문자열의 각 문자에 대해 반복합니다.
- total += int(num): 각 문자를 정수로 변환하고 total에 더하여 합계를 계산합니다.
- print("숫자들의 합:", total): 최종적으로 계산된 합을 출력합니다.
5. 마무리
숫자를 문자열로 파악하여 계산후 형변환을 하여 푸는 접근을 알 수 있었다.
'알고리즘, 자료구조' 카테고리의 다른 글
[백준| 단계별로 풀어보기 5단계 문자열 | Python] 2908번 상수 (0) | 2024.04.16 |
---|---|
[백준| 단계별로 풀어보기 5단계 문자열 | Python] 9086번 문자열 (0) | 2024.04.07 |
[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 10811번 바구니 뒤집기 (0) | 2024.04.05 |
[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 3052번 나머지 (0) | 2024.04.05 |
[백준| 단계별로 풀어보기 4단계 1차원 배열 | Python] 10813번 공 바꾸기 (0) | 2024.04.04 |