김두두의 블로그

[파이썬] 백준 11720번 본문

it

[파이썬] 백준 11720번

두두100 2022. 3. 18. 00:19

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

n1=int(input())
n=input()
s=set(n)
s=list(s)
k=0
for i in range(len(s)):
    k=k+int(s[i])
    
print(k)

처음엔 이렇게 푸는데 예제가 너무 잘풀려서 하~~ 왜이렇게 잘풀리지 ㅋㅋ이랬는데 응~ 역시나 아니죠

 

왜 예제 4(11-10987654321)이 자꾸 45가 나올까 생각했는데 생각해보니 set은 중복된 원소를 없앤다. 그러니까 set말고 다른 방식으로 풀어야한다. 여기까지는 생각을 못했네 ^^;;

 

n1=int(input())
n=input()
A=list(n)
print(A)

의 결과는

3
25
['2', '5']

다음과 같다. 이를 이용할 수 있을 것이다.

 

n1=int(input())
n=input()
A=list(n)

k=0
for i in range(len(A)):
    k=k+int(A[i])
    

print(k)

완성! 궁금한건 len(A)말고 n1넣으면 위처럼 예제 4가 45나오고 n1+1넣으면 런타임에러가 나온다.

그냥 하던대로 해야겠다.