인프런 커뮤니티 질문&답변

신나신나님의 프로필 이미지
신나신나

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 자릿수의 합

res..?

작성

·

284

0

정확히 res가 왜 필요한지 어떤 역할을 하는건지 잘 모르겠어요 ㅜㅜ

답변 1

0

res 의 역할은 input 으로 들어오는 변수 들 중 tot 값이 가장 큰 요소를 저장 하는 역할 입니다.

선생님 께서 작성 해주신 코드를 잘 살펴 보면, 

for 문으로  input의 숫자 리스트를 하나씩 꺼내고 있습니다. 

하나씩 꺼낼때마다 변수 x에 한번씩 들어가고 있어요.  

tot변수는 이 숫자의 자릿수 합을 구하는 함수에 x를 넣어서 리턴 받은 값을 저장 하고 있고요.

우리가 원하는 것은 각 숫자 중에서  자릿수 의 합이 가장 큰  값을 출력 하는 것 입니다. 

그래서 if 문으로 max 값과 tot 값을 비교해서 위 숫자들 중 가장 합이 큰놈을 찾아낼 거에요. 

그리고 동시에 res 에  숫자를 저장 해놓으면 for 문을 다 돌고 나서 res 에는 tot 값이 가장 큰 x 가 저장 되어있게 됩니다. 

 

이렇게 저장되는 이유는 if 문으로 max와 tot 값을 비교하고 max값을 계속 갱신 하기 때문입니다. 

아무리 많은 요소를 for 문으로 돌려도 if 문의 조건에 해당하지 않으면 if 문 내부의 구문은 실행 되지 않아요. 

그러니까 for 문을 다 돌리고 나왔을 때 res에 저장되어있는 값은 max 값을 가지는 x 의 값이 남아있게 됩니다. 

 

신나신나님의 프로필 이미지
신나신나

작성한 질문수

질문하기