Algorithm/BaekJoon
백준 2021.10.26. 11720 - 숫자의 합
HappyFrog
2021. 10. 26. 20:49
VSC에서는 구동되는데 런타임 에러가 나서 다시풀고 있다.
N = int(input())
num = ""
for i in range(N):
num += input()
result = 0
for i in num:
result += int(i)
print(result)
아. 한줄씩 입력받는게 아니라 입력한 자리수 만큼의 숫자를 한꺼번에 입력받는 형식이었다.
N = int(input())
num = list(map(int, input()))
result = 0
for i in num:
result += int(i)
print(result)
리스트를 int형식으로 매핑받아 생성하는 식으로 고치니 해결되었다.
하지만 의문은 문제에서 1번째에 자연수 N을 입력하고 N자리 수의 숫자를 2번째에 입력한다고 했는데, 2번째 입력때 입력할 수 있는 자릿수제한을 할 수 없었을까? 하는 의문이 든다.
N = int(input())
num = list(map(int, input()))
if len(num) > N:
for i in range(len(num) - N):
num.pop()
result = 0
for i in num:
result += int(i)
print(num)
print(result)
그래서 리스트의 pop메서드를 통해 추가입력받은 숫자들은 버리는 방식으로 구현하기로 했다.
- 숫자의 자릿수 N을 입력하고
- N자리숫자를 입력받는다
- 이 때, N자리 숫자를 초과한다면 초과한만큼 리스트의 끝 인덱스부터 제거하기 시작한다.
- 그리고 리스트의 요소들을 모두 더하여 출력해준다.