https://www.acmicpc.net/problem/11720
# 문제상황
x = list(str(input()))
sum = 0
for i in x:
sum += int(i)
저는 맨 처음에 이렇게 코드를 짰었는데요, 실로 비효율적인 코드입니다.
첫 번째로, input() 함수를 통해 입력받는 모든 값들은 '문자열' 자료형으로 입력받습니다. 즉, 1행의 'str(input())' 이라는 코드는 완전히 삽질하는 코드인 셈이죠.
두 번째로, 'for i in x:' 에서 x 자리에는 반복 가능한 자료형만 들어올 수 있으면 됩니다. 반복 가능한 자료형에는 문자열, 리스트, 튜플, 딕셔너리, 집합이 있죠. 저는 x 자리에 반드시 리스트만 올 수 있다고 생각해서 1행에 굳이 'list()' 함수를 사용했었는데 그럴 필요가 없었다는 뜻입니다.
# 답
input()
x = input()
sum = 0
for i in x:
sum += int(i)
print(sum)
728x90
반응형
'Algorithm > BaekJoon' 카테고리의 다른 글
(파이썬) 백준 1316번 "그룹 단어 체커" (0) | 2022.04.20 |
---|---|
(파이썬) 백준 1157번 "단어 공부" (0) | 2022.04.20 |
(파이썬) 백준 4344번 "평균은 넘겠지" (0) | 2022.04.19 |
(파이썬) 백준 2562번 "최댓값" (0) | 2022.04.19 |
(파이썬) 백준 10871번 "X보다 작은 수" (0) | 2022.04.19 |