프로그래머스/하샤드 수/python

문제📃

풀이😀

  1. 각 자릿수를 다 더한다 sum(map(int, str(x)))
  2. 하샤드 수 판별규칙대로 x % hap 이 0이면 하샤드 수이고,
  3. x % hap 이 0이 아니면 하샤드 수 아님

코드⌨

def solution(x):
    answer = True
    hap = sum(map(int, str(x)))

    if x % hap != 0:
        answer = False

    return answer

다른사람의 풀이🧑

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

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(Harshad(18))
  1. str(x)로 변환 후, 하나씩 꺼내서 c로 삽입
  2. int(c)로 변환하고 전부 더한다.
  3. 이 합으로 수를 나누었을때 == 0 인가? (return 값에 쓰면 T/F값으로 나온다)

뭐 비슷하다.

좋은 웹페이지 즐겨찾기