대충, 몫을 이용해서 각 자릿수의 합을 구하는 방법은 생각했지만, 함수로서 구현하지 못했다 ㅠㅠ
3. 답
방법 ①몫과 나머지 연산자 이용
n =map(int,input().split())
num_lst=list(map(int,input().split()))
def digit_sum(x):
sum=0 //각 자릿수를 합하기 위한 변수를 선언
while x>0: //x가 양수일동안
sum+=x%10 //x를 10으로 나눈 나머지를 ㄴsum에 증가
x=x//10 //x를 10으로 나눈 몫을 다시 x로 초기화
return sum
max=-2147000000 //이런 작은 수를 max의 초기값으로 설정하고
for x in num_lst:
tot=digit_sum(x) //함수에서 return받는 sum을, tot변수에 대입
if tot>max: //최대값 비교 과정
max=tot
res=x //최대가 되도록 하는 x가 출력하고자 하는 값임
print(res)
방법 ②숫자를 문자열화 하여 접근
n =map(int,input().split())
num_lst=list(map(int,input().split()))
def digit_sum(x):
sum=0
for i in str(x):
sum+=int(i)
return sum
max=-2147000000
for x in num_lst:
tot=digit_sum(x)
if tot>max:
max=tot
res=x
print(res)