Breaking

2018년 10월 13일 토요일

Baekjoon 11720번 python

Baekjoon 번 python <별별정보>





문제 :  N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

풀이 :
num=int(input())
fullNum=int(input())
sum=0
for i in range(num):
    sum+=fullNum//10**(num-i-1)
    fullNum=fullNum%10**(num-i-1)
print(sum)

N개의 숫자가 붙어있는 것 뿐이므로 int로 받은 값인 fullNum을 앞에서부터 몫으로 받아 합할 생각을 가졌다. (반대의 생각으로 해도 가능하다. 그러나 나는 이것이 편하다고 생각했다.) 때문에 fullNum 자리 수에서 하나씩 뺀 값을 10의 거듭제곱으로 이용해 1자리 몫을 sum으로 합치고 나머지는 다시 fullNum으로 받는 형식을 거친 것이다.

예로 예제 입력 2를 보면 num=5, fullNum=54321이다. 여기서 10^(num-0-1) 즉 10^4=10000으로 fullNum을 나눌 것이다. 54321 / 10000은 몫은 5이고 나머지는 4321이다. 이것을 1로 나눠 몫이 0이 될 때까지 이루어진다. 물론 for 문이기에 따로 조건을 넣지 않았지만 말이다.
그럼 결과적으로 sum=5+4+3+2+1=15의 값이 도출된다.

ALL RIGHT RESERVED TWINSTARINFO