[프로그래머스](python) 하샤드 수

berry ·2021년 5월 16일
0

Algorithm

목록 보기
23/77

문제


내 풀이

def solution(x):
	x = str(x)
	num = 0
	for i in range(len(x)):
		num += int(x[i])
	if int(x) % num == 0:
		return True
	else: return False

+++

Python - TypeError: 'int' object is not iterable
  • int로는 for 함수 안에 넣지 못한다

+++

  • x가 자연수이고, 자연수는 슬라이싱이 불가하기 때문에
    x를 string으로 바꿔주었다.
  • num이라는 공간을 할당하여 x[0]부터 하나씩 더해가도록
  • string으로 변환했던 x를 다시 정수로 변환해 나머지 출력

+++
return true, false라서
소문자여야 하는 줄 알고 return "true" "false" 하다가
자꾸 따옴표 때문에 틀렸다 🥲


다른 풀이

def Harshad(n):
    # n은 하샤드 수 인가요?
    return n % sum([int(c) for c in str(n)]) == 0

+++
list로 만들어 Sum 해주니까 간단하구나
나는 왜 순서대로 더하는 것에 집착했지 🧐

int(c) for c in str(n)

부분 잘 기억해 둬야지

profile
Engineer

0개의 댓글