

조건
- 첫 번째 줄에 숫자의 자릿수를 입력받고 두 번째 줄에 숫자를 입력받는다
- 입력받은 숫자의 각 자릿수의 합을 출력한다
코드
#숫자의 자릿수를 입력받음
num = input()
#숫자를 입력받아서 자릿수를 각각 요소로 리스트에 저장함
numbers = list(map(int,input()))
#리스트 요소의 합을 출력
print(sum(numbers))
위 코드는 숫자 자릿수는 입력만 받고 입력받는 숫자는 각각의 자릿수 숫자들을 리스트에 저장 후 리스트 요소들의 합을 구하는 함수를 사용해서 출력하는 간단하게 만든 코드
#숫자의 자릿수를 입력받음
n = int(input())
#숫자를 문자열로 입력받음
numbers = input()
result = 0
#숫자의 자릿수 만큼 for문을 실행시킴
for i in range(n):
#숫자를 문자열로 입력 받았기 때문에 인덱스 0부터 접근해서
#result 값에 합친 값을 result값으로 다시 넣음
result += int(numbers[i])
#result값 출력
print(result)
위 코드는 for문을 사용해서 숫자의 자릿수 만큼 반복하는 for문을 선언하고 그 안에 숫자를 문자열로 입력받아 문자열의 인덱스 0 부터 접근해서 result 값에 차근차근 더해서 출력하는 코드
#숫자의 자릿수를 입력받음
num = int(input())
#숫자를 문자열로 입력받음
s = input()
a = 0
total = 0
#a를 0으로 선언했고
#문자열 s의 인덱스 0을 정수 값으로 변환해서 total 값과 합친 후 그 값을 다시 total 값에 넣음
while a < num:
total = total + int(s[a])
#a값은 0부터 시작해서 루프가 한 번 돌 때 마다 1씩 더해짐
a = a + 1
#total을 출력함
print(total)
- 위 코드가 내가 제출한 코드임 -
위 코드는 while문을 사용한 코드임 a를 0으로 선언해두고 a가 입력받는 숫자의 자릿수가 넘게되면 while문을 탈출하게 만듬
그리고 while문이 실행되는 동안 입력받는 숫자를 s에 문자열로 저장하고 그 문자열 인덱스 0 부터 접근해서 total 값과 더한 후 다시 total 값에 넣는 코드를 반복함. while문의 한 루프가 돌 때 마다 a 값이 1 씩 증가하는 코드가 마지막에 실행되므로 a값이 숫자의 자릿수가 넘게 되면 while문을 탈출하게 됨
알게된 점
- while문을 보다 더 다양하게 활용할 수 있게 생각이 보다 열리게 된 것 같음
- 처음엔 첫 번째 코드 처럼 짜고 싶었으나 실패하고 세 번째 코드로 짰는데 이제 첫 번째 코드 처럼 짜기 위해서 필요한 조건을 모두 알게 된 것 같음 (list에 int로 입력받아서 입력받은 요소를 각각 리스트에 저장하는 방법)
'BeakJoon > Python' 카테고리의 다른 글
[Python] 백준 #10828번 : 스택 (0) | 2023.10.15 |
---|---|
[Python] 백준 #10809 : 알파벳 찾기 (0) | 2023.10.01 |
[Python] 백준 #11654번 : 아스키 코드 (0) | 2023.09.29 |
[Python] 백준 #9086번 : 문자열 (0) | 2023.09.29 |
[Python] 백준 #2743번 : 단어 길이 재기 (0) | 2023.09.29 |