반응형
Notice
Recent Posts
Recent Comments
Link
안경잡이 구루루
백준 11720 ( 숫자의 합 ) [ Python ] 본문
반응형
나(방법1):
N= int(input())
num = input()
add=0
if N == len(num):
for i in range(len(num)):
add += int(num[i])
print(add)
완성된 코드는 위와 같다.
N= int(input())
num = input()
add=0
숫자의 개수를 나타내는 변수 N을 정수형으로 입력받는다. num 공백없이 나타낼 수로 문자형으로 받는다.
add는 num의 수가 더해진 최종값이 들어갈 변수로 0으로 초기화 한다.
if N == len(num):
for i in range(len(num)):
add += int(num[i])
print(add)
숫자의 개수를 나타낸 N과 입력받은 num의 개수가 참일 때 for 반복문을 이용해 값을 더해나가는 부분이다.
즉, for반복문으로 문자로 입력받았던 num의 길이만큼 배열을 이용해서 한자리씩 add에 더해나간다.
이때 10이나 11같이 1자리를 넘는 수의 대해서는 어떻게 처리하는지 궁금할 수 도 있지만 예제를 살펴보면 이 생각이 잘못됨을 알 수 있다.
예제입력 4를 보면 알 수 있듯이 1의 자리와 2의 자리는 구분하지 않고 1자리씩만 숫자로 취급한다는것을 알 수 있다.
결국 최종값인 add를 출력한다.
다른사람:
sum = 0
inp = int(input())
num = input()
for each in num:
sum += int(each)
print(sum)
완성된 코드는 위와 같다.
이 코드를 보고 다시 알게 된 점은 for 반복문은 어짜피 이 자체로 num 의 요소 하나씩을 each 에 돌려주기 때문에
나처럼 배열을 구지 이용할 필요없었다는 점이다.
반응형
'파이썬(Python) > 문제풀이(백준,BaekJoon)' 카테고리의 다른 글
백준 2675 ( 문자열 반복 ) [ Python ] (0) | 2020.07.04 |
---|---|
백준 10809 ( 알파벳 찾기 ) [ Python ] (2) | 2020.06.30 |
백준 11654 ( 아스키 코드 ) [ Python ] (0) | 2020.06.30 |
백준 4673 ( 셀프넘버 ) [ Python ] (0) | 2020.06.27 |
백준 15596 ( 정수 N개의 합 ) [ Python ] (0) | 2020.06.27 |