몇번의 과정을 거치는지 세기 위해 cnt 변수를 지정한뒤 input 함수로 X의 값을 받는다.
while 문을 활용하여 X가 10보다 크거나 같을때 각자리수의 합인 Y를 구한다.
(이때 cnt값은 1씩 증가하고 다음 계산을 위해 X = Y라는 코드를 추가한다.)
그 후 Y가 3의 배수인지 아닌지 판단하여 값을 출력한다.
이 코드를 실행했을때 예제 입출력과 동일하게 출력되었다. 하지만 시간초과로 인해 실패해 계속 코드를 수정했고 계속해서 동일한 결과가 떴다...
더 생각해보고 나중에 수정할 예정이다!
+++
코드를 계속해서 수정했지만 시간초과가 떴다...
문자열로도 받아 보았지만 런타임에러가 발생해서 할 수 없이 다른분의 블로그를 참고했다...(링크첨부 : https://ddo-code.tistory.com/119) 감사합니다....!!!!
위 코드는 sys 모듈을 불러와서 sys.stdin.readline, strip와 같은 함수를 사용해 더욱 효율적인 과정을 쓸 수 있었다. 그리고 n = str(sum(list(map(int, n))))라는 한줄의 코드를 사용하여 각자리 수의 합을 구했다. 이 코드로 성공할 수 있었다.... 감사합니다....
**strip() : 양쪽 공백을 삭제하고 저장하는 코드. 저장되는 메모리를 절약할 수 있다!