본문 바로가기

코딩테스트 with PYTHON

[python] 코딩테스트 대비 - 자릿수의 합

문제)

 

답안 코드) -2가지 방법

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import sys
#sys.stdin=open("input.txt","rt")
 
#방법1 - 숫자 그대로 이용
def digit_sum2(x):
    num=0
    while x>0:
        num+=x%10#10으로 나눈 나머지 ex)121을 10으로 나눈 나머지는 1 즉, 한자리 수를 의미
        x=x//10#10으로 나눈 몫 ex) 121를 10으로 나눈 몫은 12 여기서 다시 10으로 나눈 나머지를 구하면 2(다음 자리수 접근)
    return num
        
 
#방법 2 - 문자열 이용
def digit_sum(x):
    sum=0
    for i in str(x):#한 문자씩 접근
        sum=sum+int(i)#더하기
    return sum
 
N=int(input())
M=list(map(int,input().split()))
 
max=-2147000000
for i in M:
    total=digit_sum(i)
    if total>max:#max 값 찾기
        num=i
        max=total
print(num)#결과값 출력
cs